Voting and headend insertion model for targeting content in a broadcast network

ABSTRACT

A system and method is provided for use in connection with delivering content that is targeted to users of a broadcast network. In order to select content that is targeted to users of the broadcast network, signals are received from a plurality of customer premise equipment devices (CPEs) of the network users via a broadcast network interface. Based on the received signals, broadcast assets (e.g., programming, advertisements etc.) are selected from a collection of available asset options. Accordingly, at least a portion of the selected assets are inserted into a content stream of the broadcast network. Once the content stream is broadcast over a broadcast network interface, at least a portion of the selected assets area available for receipt by at least a portion of the CPEs. The CPEs generate reports regarding assets delivered such that asset providers can be billed based on guaranteed targeted impressions.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/332,771 entitled “Voting and Headend Insertion Model For TargetingContent in a Broadcast Network” having a filing date of Jan. 12, 2006,which claimed the benefit of the filing date of U.S. ProvisionalApplication No. 60/643,421 filed on Jan. 12, 2005.

FIELD

Systems and methods presented herein relate to the provision of targetedassets via a network interface. In one specific arrangement, targetedadvertising media is provided to users of a broadcast network, such as acable television network, based at least in part on signals received forthe current users of the broadcast network.

BACKGROUND

Broadcast network content or programming is commonly provided inconjunction with associated informational content or assets. Theseassets include advertisements, associated programming, public-serviceannouncements, ad tags, trailers, weather or emergency notifications anda variety of other content, including paid and unpaid content. In thisregard, assets providers (e.g., advertisers) who wish to conveyinformation (e.g., advertisements) regarding services and/or products tousers of the broadcast network often pay for the right to insert theirinformation into programming of the broadcast network. For instance,advertisers may provide ad content to a network operator such that thead content may be interleaved with broadcast network programming duringone or more programming breaks. The delivery of such paid assets oftensubsidizes or covers the costs of the programming provided by thebroadcast network. This may reduce or eliminate costs borne by the usersof the broadcast network programming.

In order to achieve a better return on their investment, asset providersoften try to target their assets to a selected audience that is believedto be interested in the goods or services of the asset provider. Thecase of advertisers on a cable television network is illustrative. Forinstance, an advertiser or a cable television network may target its adsto certain demographic groups based on, for example, geographiclocation, gender, age, income etc. Accordingly, once an advertiser hascreated an ad that is targeted to a desired group of viewers (e.g.,targeted group) the advertiser may attempt to procure insertion times inthe network programming when the targeted group is expected to be amongthe audience of the network programming.

Advertisers on the networks have typically attempted to select insertiontimes for their ad content based on audience classification informationprovided by audience sampling companies, such Nielsen Media ResearchCorporation. In broadcast television, audience sampling has often beenperformed via the monitoring of a small sample of selected households.The households are ideally selected to be representative of the universeof viewers. Specifically, specialized equipment is provided to theselected households where demographic information of each household isknown to the sampling company. The specialized equipment is operative torecord the viewing habits of the household and periodically report thesame. The reported viewing habits of the monitored households are thencompiled and sorted to determine, for example, overall market share bychannel, by program, as well as by one or more demographic groups (e.g.,male, female, etc.).

Audience sampling information in some instances allows advertisers toeffectively identify programming periods for their ad content duringwhich a targeted group of viewers are expected to be present. Forinstance, the audience share and demographics of a long runningtelevision program may be well established. Accordingly, advertisershaving products targeted to the putative interests of the audience mayadvertise during the television program.

However, in instances where little or no historic information isavailable for a program or programming period, audience samplinginformation may be of limited value. For example, for low share networksthe Nielsen sampling groups are often too small to accurately estimateinformation regarding the viewing audience. That is, the size and/ordemographic make-up of a viewing audience may not be well estimated oreven known. Accordingly, advertisers may be reluctant to purchaseadvertising time during such periods and/or advertiser may provide adcontent that is not well targeted to the actual viewers of theprogram/programming period.

To better target viewers of, for example, low share networks, variousdifferent targeted advertising systems have been proposed. Often, suchtargeted advertising systems have been incorporated into set-top boxesthat have access to current viewing information associated with users ofthe set-top boxes. These targeted advertising systems typically utilizesuch current viewing information to select assets from storage media andto provide the selected assets to users. However, such systems have notfound widespread acceptance as the systems require that substantialresources of stored assets to effectively target different groups ofnetwork users. Due to the necessity of storing assets at the set-topbox, specialized set-top boxes have been required to implement previoustargeted advertising systems. Accordingly, previous targeted advertisingsystems have not been backward compatible with existing user equipment,thereby increasing the costs associated with implementing such systems.Finally, previous targeted advertising systems have required theperiodic transmission of large amounts of updated assets (e.g., newadvertisements) to the specialized set top boxes. Due to limitedavailable bandwidth, such periodic transmission has been problematic.

SUMMARY

In view of the above, the inventors of the current system and methodshave recognized that asset providers may more effectively match theirassets to targeted network users if the asset providers can obtaincurrent information regarding the network users. Accordingly, systemsand methods are provided herein for providing assets in a broadcastnetwork to network users based on more signals received from the networkusers.

According to a first aspect of the present invention, a system andmethod (hereinafter “utility”) for use in connection with deliveringcontent to users of a broadcast network is provided. The utilityincludes receiving signals from a plurality of customer premiseequipment devices (CPE's) via a broadcast network interface. Based onthe received signals, assets are selected from a collection of availableasset options. Accordingly, at least a portion of the selected assetsmay be inserted into a content stream of the broadcast network. Further,the selected assets may be broadcast over a broadcast network interfacesuch that the selected assets are available for receipt by at least aportion of the CPE's via the network interface.

Variations and additional features exist to the above-noted aspect ofthe present invention. For instance, the broadcast assets may includeany asset of an asset provider, including, without limitation,advertising, programming, public service announcements, etc. Furthervarious steps and processes of the utility may be performed at differentlocations within a broadcast network. Typically, however, these stepsand processes are performed at a location that may be referred to as thehead end of the network, which may generally entail any networkcomponents that are upstream (i.e., across a network interface) of theCPE devices. However, the various network components may be located atdifferent platforms within the network. In any case, the utility isoperative to receive information from the CPE devices over the networkinterface and provide content (e.g., broadcast content) to the CPEdevices over the network interface.

To provide content, that more closely matches the putative interests ofa current network audience, the utility may receive signals from onlythose CPEs which are currently active. That is, CPEs which are currentlyoutputting content to a network user. In another arrangement, theutility may receive signals from a statistical sample of less than theentirety of the CPEs associates with the broadcast network. Such CPEsmay be randomly selected at the head end of the network, or the CPEs inthe network may randomly report to the head end. In any case,statistical sampling less than an entirety of the CPEs associated withthe broadcast network may reduce bandwidth requirements for the utility.

In a further arrangement, asset option information is provided to someor all of the CPE devices within the broadcast network such that thereceived signals are responsive to information received from the networkinterface. In this regard, the utility may include providing assetoption information for a set of available assets. Further, theinformation may include at least one response parameter for eachavailable asset option. In this regard, the CPE's may receive the assetoption information and generate a responsive signal based on one or moreresponse parameters for one or more available asset. In any case, theasset option information may be broadcast over the network interfacesuch that it is available for receipt by at least a portion of the CPEs.

Upon receipt of the signals from the CPE's, the signals may be processedin order to select assets and/or to generate an insertion schedule forinserting selected assets (i.e. broadcast content) into one or morecontent streams. For instance, in a television broadcast network,received signals may provide information regarding a fit between thecontent of available advertisements and the putative interests of acurrent viewing audience of a television channel. Accordingly,advertisements that more closely fit the current viewing audience may beselected from a repository or database of available advertisements.Likewise, the selected advertisements may be inserted into a data streamof the television channel during an upcoming commercial break.

In a further arrangement, different sets of assets may be selected forinsertion into first and second content streams of a broadcast network.In reference to the above-noted television network, this may entailinserting a first set of commercials into a first content stream (e.g. afirst television channel) and inserting a second set of commercials intoa second content stream (e.g. a second television channel). These firstand second content streams may then be simultaneously broadcast over thebroadcast network interface. In this arrangement, the CPEs within thenetwork may be operative to switch between the first and second contentstreams based on classification parameters specific to each individualCPE. In this regard, assets directed to different users of the networkmay be provided for a common timeslot in the network programming of, forexample, a single transmission band (e.g., channel). As may beappreciated, the utility is not limited to insertion of first and secondsets of selected assets into first and second content streams. Rather,utility may be operative to select a plurality of different assets basedon signals received from the CPE's and insert the selected assets intomultiple content streams. In this regard, the utility may be operativeto insert content into numerous different asset channels of a televisionnetwork. Further, the number of the plurality of content streams may bebased on currently available bandwidth within the network.

The utility may utilize any components in order to provide theabove-noted functionalities. For instance, the utility may utilize acontent selection processor that is operative to process signals thatoriginate from the CPEs. This may entail the processor tallying orotherwise processing the signals to identify assets that are mostclosely aligned with a majority of a broadcast audience and/or that arealigned with desired sub-groups of the broadcast audience. Accordingly,the content selection processor may utilize the processed signals, atleast in part, to select assets for broadcast. Further, the contentselection processor may utilize other information such as, for example,information provider inputs and/or known demographic information, whichmay be obtained from any appropriate source, to select assets forbroadcast.

In any case, asset options may be selected from a repository ofavailable assets. Such a repository may include a database that isoperatively interconnected to the content selection processor. In thisregard, the repository and processor may be interconnected over anyappropriate communications link. As will be appreciated, thesecomponents need not be located a common location. Typically, therepository will also be accessible by one or more information providersto allow such providers to provide assets and/or update such assets.

The utility also utilizes an inserter to insert selected assets into acontent stream in the broadcast network. Such an inserter maybeoperative to interleave assets into a transmission band is carryingprogramming as well as insert assets into transmission bands that are atthe time of insertion carrying no programming.

According to another aspect of the present invention, a method andsystem (i.e., utility) is provided for matching available assets toclassification parameters of a customer premises equipment device (CPE).The utility includes receiving, at a CPE, information (e.g., a list ofoptions) from a broadcast network interface. This informationcorresponds to a collection of available assets that may be provided viathe broadcast network. The information is compared with at least oneclassification parameter associated with the CPE. In response to thiscomparison, a response signal is generated and transmitted over thebroadcast network interface to a platform in the broadcast network. Asmay be appreciated, the response signal may then be utilized by thenetwork to select assets for broadcast.

In order to compare the information with at least one classificationparameter, the utility may further identify at least one constraintassociated with each available asset. Accordingly, the utility isoperative to parse the information to identify available assets andconstraints associated with each available asset. The constraints may becompared with at least one classification parameter associated with theCPE. In this regard, if the constraint(s) of a given asset match theclassification parameter(s) of the CPE, the asset may fit the particularCPE. Accordingly, a response signal may provide an indication of thisfit between an asset and the classification parameters of the CPE. Asmay be appreciated, the response signal may be a binary indicating amatch or no match (i.e., one or zero), or the response signal may be ascaled response indicating a degree of the fit between the constraint(s)and classification parameter(s) (e.g. between zero and nine). It will beappreciated that each asset may have more than one constraint and that agiven CPE may have more than one classification parameter. For instance,the CPE may have a first set of classification parameters for a firstuser of the CPE and a second set of classification parameters for asecond user of the CPE.

In any case, the classification parameters may be indicative of putativedemographic parameters associated with the users of the CPE. Suchdemographic parameters may include, without limitation, gender, age,income, ethnicity, and geographic location. As noted above, the responsesignals may be a numeric representation (e.g. binary) regarding theappropriateness or fit of a particular asset to a classificationparameter of the CPE. Stated otherwise, the CPE may receive availableasset options and vote on their appropriateness for presentation to acurrent user. This vote may be anonymous to protect the privacy of theuser. Accordingly, the CPE may provide such responses to the networkinterface, and hence, a platform within the broadcast network, free ofdirect information about the CPE and/or users of the CPE.

In conjunction with providing responses to the network interface, theCPE may be operative to receive parallel content streams from thebroadcast network interface where the parallel content streams containdifferent assets. Further, the CPE may receive a control signal (e.g.via the broadcast network interface) that allows the CPE to recognizethat the parallel content streams are available as well as allow the CPEto switch between these parallel content streams. Individual CPE devicesmay be operative to select between the parallel content streamsutilizing the control signal and/or classification parameters stored atthe CPE. In a further arrangement, the CPE may be operative to transmitan asset delivered signal indicating which asset was provided to anetwork user by the CPE.

According to another aspect of the invention, a system and method (i.e.,utility) is provided for delivering selected content to users of abroadcast network. The utility includes providing informational contentto a broadcast network user via the equipment of the broadcast networkuser. The utility further includes receiving content selectioninformation at the broadcast network via equipment of the broadcastnetwork user and processing the selection information to determinetransmission content for transmission via the broadcast network. Oncecontent is selected, at least a portion of that content may be deliveredto the broadcast network user via the equipment of the broadcast networkuser.

Variations exist in the present aspect of the current invention. Forinstance, the current invention may be utilized with forward and storesystems wherein transmission content may be forwarded for storage at theequipment of the broadcast network user. In this regard the equipmentmay later provide the transmission content to the network user. Inanother arrangement, the transmission content may be inserted into abroadcast stream associated with the broadcast network. Further,multiple transmission content options may be inserted into paralleltransmission streams and provided in synchronicity. Accordingly, theequipment of the broadcast network user may then switch between thetransmission content options on the parallel transmission streams.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates major components of a cable television network.

FIG. 2 illustrates bandwidth usage that is dynamically determined on ageographically dependent basis via networks.

FIG. 3 illustrates asset insertion as accomplished at a headend.

FIG. 4 illustrates an exemplary audience shares of various networks asmay be used to set asset delivery prices for future breaks associatedwith the program.

FIG. 5 illustrates delivery of assets to different users watching thesame programming channel.

FIG. 6 illustrates audience aggregation across.

FIG. 7 illustrates a virtual channel in the context of audienceaggregation.

FIG. 8 illustrates targeted asset insertion being implemented atCustomer Premises Equipment (CPEs).

FIG. 9 illustrates asset options being transmitted from a headend onseparate asset channels.

FIG. 10 illustrates a messaging sequence between a CPE, a networkplatforms and a traffic and billing (T&B) system.

FIG. 11A illustrates an example of CPEs that include a television setand a Digital Set Top Box (DSTB) as used by a plurality of users.

FIG. 11B illustrates a user classifier.

FIG. 12 is a flow chart illustrating a process for implementingtime-slot and targeted impression buys.

FIG. 13 illustrates communications between a network platform and a CPE.

FIG. 14 illustrates an application that is supported by signals fromCPEs and provides targeted assets to users of one or more channelswithin a network.

FIG. 15 illustrates exemplary sequences associated with breaks onprogramming channels.

FIG. 16A illustrates the use of asset channels for providing assetsduring a break of a programming channel.

FIG. 16B illustrates an exemplary asset flotilla.

FIG. 16C illustrates improved asset options via an increase in availablebandwidth

FIG. 17A shows an asset option list for a per break/per channel basis.

FIG. 17B shows a single asset option list for multiple breaks andchannels.

FIG. 18 illustrates a process in which CPEs may vote with respect toasset options for a programming channel.

FIG. 19 illustrates a process of selecting assets for insertion into oneor more asset channels.

FIG. 20 illustrates an arbitration process wherein two or moreprogramming channels have conflicting breaks.

FIG. 21 illustrates a process of shortening network provided availwindow information for a programming period of at least a firstprogramming channel.

FIG. 22 illustrates a process directed to dynamic insertion of assetswith respect to a break of a television programming.

FIG. 23A illustrates a reporting system.

FIG. 23B illustrates information that may be included in a report file.

FIG. 24 illustrates various network components of a reporting system andtheir connections to other functional components of the overall targetedbilling system.

FIG. 25 illustrates a customer premises side process for implementingreporting functionality.

FIG. 26 illustrates a network side process in connection with thereporting functionality.

FIG. 27 illustrates a process for interfacing a targeted asset systemwith a T&B system.

FIG. 28 is a block diagram of an exemplary system that targets contentfor broadcast networks.

FIG. 29A is an exemplary component-level block diagram of the system ofFIG. 28 that targets content for broadcast networks.

FIG. 29B is an exemplary alternative component-level block diagram ofthe system of FIG. 28 that targets content for broadcast networks.

FIG. 30 is a block diagram of an exemplary system that directs CPEs toselect informational content for insertion to broadcast content.

FIG. 31 is a flowchart of an exemplary targeted content process.

FIG. 32 is a block diagram of an exemplary audience aggregation system.

FIG. 33 is a flowchart of an exemplary audience aggregation process.

FIG. 34 is an exemplary channel scheduling diagram.

FIG. 35 is a flowchart of an exemplary spot optimization process.

FIG. 36A is a block diagram of an exemplary targeted content interfacesystem.

FIG. 36B is an exemplary Graphical User Interface (GUI) of the targetedcontent interface of FIG. 36A.

FIG. 36C is another exemplary Graphical User Interface (GUI).

FIG. 37 is a flowchart of an exemplary targeted content interfaceprocess.

FIG. 38A is a block diagram illustrating an exemplary audienceestimation.

FIG. 38B is a block diagram illustrating another exemplary audienceestimation.

FIG. 38C is a flowchart of an exemplary audience estimation process.

FIG. 39A is a block diagram illustrating targeted content in Video onDemand (“VOD”) networks.

FIG. 39B is a flowchart of an exemplary VOD targeted content process.

FIG. 40A is a block diagram of a system that implements targeted contentwith multiple content segments.

FIG. 40B is a flowchart of a packaged content targeting process.

DETAILED DESCRIPTION

The present invention relates to various structure and functionality fordelivery of targeted assets, classification of network users orconsuming patterns, and network monitoring for use in a communicationsnetwork, as well as associated business methods. The invention hasparticular application with respect to networks where content isbroadcast to network users; that is, the content is made available viathe network to multiple users without being specifically addressed toindividual user nodes in point-to-point fashion. In this regard, contentmay be broadcast in a variety of networks including, for example, cableand satellite television networks, satellite radio networks, IP networksused for multicasting content and networks used for podcasts ortelephony broadcasts/multicasts. Content may also be broadcast over theairwaves though, as will be understood from the description below,certain aspects of the invention make use of bi-directionalcommunication channels which are not readily available, for example, inconnection with conventional airwave based televisions or radios (i.e.,such communication would involve supplemental communication systems). Invarious contexts, the content may be consumed in real time or stored forsubsequent consumption. Thus, while specific examples are provided belowin the context of a cable television network for purposes ofillustration, it will be appreciated that the invention is not limitedto such contexts but, rather, has application to a variety of networksand transmission modes.

The targeted assets may include any type of asset that is desired to betargeted to network users. It is noted that such targeted assets aresometimes referred to as “addressable” assets (though, as will beunderstood from the description below, targeting can be accomplishedwithout addressing in a point-to-point sense). For example, thesetargeted assets may include advertisements, internal marketing (e.g.,information about network promotions, scheduling or upcoming events),public service announcements, weather or emergency information, orprogramming. The targeted assets may be independent or included in acontent stream with other assets such as untargeted network programming.In the latter case, the targeted assets may be interspersed withuntargeted programming (e.g., provided during programming breaks) or mayotherwise be combined with the programming as by being superimposed on ascreen portion in the case of video programming. In the descriptionbelow, specific examples are provided in the context of targeted assetsprovided during breaks in television programming. While this is animportant commercial implementation of the invention, it will beappreciated that the invention has broader application. Thus,distinctions below between “programming” and “assets” such asadvertising should not be understood as limiting the types of contentthat may be targeted or the contexts in which such content may beprovided.

The following description is divided into a number of sections. In theIntroduction section, the broadcast network and network programmingenvironments are first described. Thereafter, an overview of thetargeted asset environment is provided including a discussion of certainshortcomings of the conventional asset delivery paradigm. The succeedingsection provides an overview of a targeted asset system in accordancewith the present invention highlighting advantages of certain preferredimplementations thereof. Finally, the last section describes individualcomponents of the system in greater detail and provides a detaileddisclosure of exemplary implementations with specific reference totargeted advertising in a cable television environment.

I. Introduction

A. Broadcast Networks

The present invention has particular application in the context ofnetworks primarily used to provide broadcast content, herein termedbroadcast networks. Such broadcast networks generally involvesynchronized distribution of broadcast content to multiple users.However, it will be appreciated that certain broadcast networks are notlimited to synchronously pushing content to multiple users but can alsobe used to deliver content to specific users, including on a user pulledbasis. As noted above, examples of broadcast networks include cabletelevision networks, satellite television networks, and satellite radionetworks. In addition, audio, video or other content may be broadcastacross Internet protocol and telephony networks. In any such networks,it may be desired to insert targeted assets such as advertisements intoa broadcast stream. Examples of broadcast networks used to deliverycontent to specific users include broadcast networks used to deliver ondemand content such as VOD and podcasts. The present invention providesa variety of functionality in this regard, as will be discussed indetail below.

For purposes of illustration, the invention is described in someinstances below in the context of a cable television networkimplementation. Some major components of a cable television network 100are depicted in FIG. 1. In the illustrated network 100, a headend 104obtains broadcast content from any of a number of sources 101-103.Additionally, broadcast content may be obtained from storage media 105such as a via a video server. The illustrated sources include an antenna101, for example, for receiving content via the airwaves, a satellitedish 102 for receiving content via satellite communications, and a fiberlink 103 for receiving content directly from studios or other contentsources. It will be appreciated that the illustrated sources 101-103 and105 are provided for purposes of illustration and other sources may beutilized.

The headend 104 processes the received content for transmission tonetwork users. Among other things, the headend 104 may be operative toamplify, convert and otherwise process the broadcast content signals aswell as to combine the signals into a common cable for transmission tonetwork users 107 (although graphically depicted as households, asdescribed below, the system of the present invention can be used inimplementations where individual users in a household are targeted). Italso is not necessary that the target audience be composed households orhousehold members in any sense. For example, the present invention canbe used to create on-the-fly customized presentations to students indistributed classrooms, e.g., thus providing examples which are morerelevant to each student or group of students within a presentationbeing broadcast to a wide range of students. The headend also processessignals from users in a variety of contexts as described below. Theheadend 104 may thus be thought of as the control center or localcontrol center of the cable television network 100.

Typically, there is not a direct fiber link from the headend 104 to thecustomer premises equipment (CPE) 108. Rather, this connection generallyinvolves a system of feeder cables and drop cables that define a numberof system subsections or branches. This distribution network may includea number of nodes 109. The signal may be processed at these nodes 109 toinsert localized content, filter the locally available channels orotherwise control the content delivered to users in the node area. Theresulting content within a node area is typically distributed by opticaland/or coaxial links 106 to the premises of particular users 107.Finally, the broadcast signal is processed by the CPE 108 which mayinclude a television, data terminal, a digital set top box, DVR or otherterminal equipment. It will be appreciated that digital or analogsignals may be involved in this regard.

Users employ the network, and network operators derive revenue, based ondelivery of desirable content or programming. The stakeholders in thisregard include programming providers, asset providers such asadvertisers (who may be the same as or different than the programmingproviders), network operators such as Multiple Systems Operators (MSOs),and users—or viewers in the case of television networks. Programmingproviders include, for example: networks who provide series and otherprogramming, including on a national or international basis; localaffiliates who often provide local or regional programming; studios whocreate and market content including movies, documentaries and the like;and a variety of other content owners or providers. Asset providersinclude a wide variety of manufacturers, retailers, service providersand public interest groups interested in, and generally willing to payfor, the opportunity to deliver messages to users on a local, regional,national or international level. As discussed below, such assetsinclude: conventional advertisements; tag content such as ad tags (whichmay include static graphic overlays, animated graphics files or evenreal-time video and audio) associated with the advertisements or othercontent; banners or other content superimposed on or otherwiseoverlapping programming; product placement; and other advertisingmechanisms. In addition, the networks may use insertion spots forinternal marketing as discussed above, and the spots may be used forpublic service announcements or other non-advertising content. Networkoperators are generally responsible for delivering content to users andotherwise operating the networks as well as for contracting with thenetworks and asset providers and billing. Users are the end consumers ofthe content. Users may employ a variety of types of CPEs includingtelevision, set top boxes, iPOD™ devices, data terminals, satellitedelivered video or audio to an automobile, appliances (such asrefrigerators) with built-in televisions, etc.

As described below, all of these stakeholders have an interest inimproved delivery of content including targeted asset delivery. Forexample, users can thereby be exposed to assets that are more likely ofinterest and can continue to have the costs of programming subsidized orwholly borne by asset providers. Asset providers can benefit from moreeffective asset delivery and greater return on their investment. Networkoperators and asset providers can benefit from increased value of thenetwork as an asset delivery mechanism and, thus, potentially enhancedrevenues. The present invention addresses all of these interests.

It will be noted that it is sometimes unclear that the interests of allof these stakeholders are aligned. For example, it may not be obvious toall users that they benefit by consuming such assets. Indeed, some usersmay be willing to avoid consuming such assets even with an understandingof the associated costs. Network operators and asset providers may alsodisagree as to how programming should best be distributed, how assetdelivery may be associated with the programming, and how revenues shouldbe shared. As described below, the present invention provides amechanism for accommodating potentially conflicting interests or forenhancing overall value such that the interests of all stakeholders canbe advanced.

Assets can be provided via a variety of distribution modes includingreal-time broadcast distribution, forward-and-store, and on-demanddelivery such as VOD. Real-time broadcast delivery involves synchronousdelivery of assets to multiple users such as the conventional paradigmfor broadcast radio or television (e.g., airwave, cable or satellite).The forward-and-store mode involves delivery of assets ahead of time toCPEs with substantial storage resources, e.g., a DVR or data terminal.The asset is stored for later display, for example, as prompted by theuser or controlled according to logic resident at the CPE and/orelsewhere in the communications network. The on-demand mode involvesindividualized delivery of assets from the network to a user, often on apay-per-view basis. The present invention can be utilized in connectionwith any of these distribution modes or others. In this regard,important features of the present invention can be implemented usingconventional CPEs without requiring substantial storage resources toenhance even real-time broadcast programming, for analog and digitalusers.

The amount of programming that can be delivered to users is limited bythe available programming space. This, in turn, is a function ofbandwidth. Thus, for example, cable television networks, satellitetelevision networks, satellite radio networks, and other networks havecertain bandwidth limitations. In certain broadcast networks, theavailable bandwidth may be divided into bandwidth portions that are usedto transmit the programming for individual channels or stations. Inaddition, a portion of the available bandwidth may be utilized forbi-directional messaging, metadata transmissions and other networkoverhead. Alternately, such bi-directional communication may beaccommodated by any appropriate communications channels, including theuse of one or more separate communications networks. The noted bandwidthportions may be defined by dedicated segments, e.g., defined byfrequency ranges, or may be dynamically configured, for example, in thecase of packetized data networks. As will be described below, in oneimplementation, the present invention uses available (dedicated oropportunistically available) bandwidth for substantially real timetransmission of assets, e.g., for targeted asset delivery with respectto a defined asset delivery spot. In this implementation, bi-directionalcommunications may be accommodated by dedicated messaging bandwidth andby encoding messages within bandwidth used for asset delivery. A DOCSISpath or certain TELCO solutions using switched IP may be utilized forbi-directional communications between the headend and CPEs and assetdelivery to the CPEs, including real-time asset delivery, in the systemsdescribed below.

It will be appreciated that bandwidth usage may be dynamicallydetermined on a geographically dependent (or network subdivisiondependent) basis. An example of this is networks, such as switcheddigital networks, including node filters as illustrated in FIG. 2. Theillustrated network 200 includes a number of nodes 206 associated with aheadend 202 via a high bandwidth link 204. The content streamtransmitted from the headend 202 via the link 204 may include a largeamount of content, for example, hundreds of video channels. Content isdelivered from the various nodes 206 to individual CPEs 210 via locallinks 207-209 which may have a more limited bandwidth. For example,these local links 207-209 may include fiber optic and coaxial cablesegments. As shown, communications between the headend 202 and CPEs 210are bi-directional. Due to bandwidth considerations, each of the nodes206 may include a node filter operative to transmit only a subset of thecontent from link 204 to the local links 207-209. In order to optimizeuse of the limited bandwidth, the subset may be different for each ofthe nodes 206. For example, a given channel may be transmitted via anyone of the local links 207, 208 or 209 only upon request by a CPE 210 onthat link. Thus, in the illustrated example, local link 207 transmitsvideo channels 1, 2, 3, 26 and 181; local link 208 transmits videochannels 1, 5, 6, 8, 12 and 20; and local link 209 transmits videochannels 1, 3, 4, 5, 17 and 26.

Such node filters thereby provide a mechanism for optimizing the use ofavailable bandwidth relative to the desires of users. However, such nodefilters may complicate the delivery of assets or affect the perceptionof network reach and thus impact the valuation of asset delivery in thecontext of the conventional asset delivery paradigm. That is, in somecases, a given network may not be immediately available to a user in aspecific node area such that the user, in fact, cannot be reached for agiven asset delivery spot. Perhaps as importantly, the fact that areduced number of networks are passed to users in specific node areasmay impact that perception of network reach and asset delivery value.Node filters also complicate tracking of targeted asset delivery giventhe dynamic nature of the network. As discussed below, the presentinvention allows for enhanced asset delivery even in networksimplementing node filters. Indeed, the present invention takes advantageof node filters to identify available bandwidth for delivery of assetoptions.

B. Scheduling

What programming is available on particular channels or other bandwidthsegments at particular times is determined by scheduling. Thus, in thecontext of a broadcast television network individual programmingnetworks, associated with particular programming channels, willgenerally develop a programming schedule well into the future, e.g.,weeks or months in advance. This programming schedule is generallypublished to users so that users can find programs of interest. Inaddition, this programming schedule is used by asset providers to selectdesired asset delivery spots.

Asset delivery is also scheduled. That is, breaks are typically builtinto or otherwise provided in programming content. In the case ofrecorded content, the breaks are pre-defined. Even in the case of livebroadcasts, breaks are built-in. Thus, the number and duration of breaksis typically known in advance, though the exact timing of the spots mayvary to some extent. However, this is not always the case. For example,if sporting events go into overtime, the number, duration and timing ofbreaks may vary dynamically. As discussed below, the system of thepresent invention can handle real-time delivery of assets for updatedbreaks. In connection with regularly scheduled breaks, as discussedbelow, defined avail windows establish the time period during whichcertain breaks or spots occur, and a cue tone or cue message signals thebeginning of such breaks or spots. In practice, an avail window may beas long as or longer than a program and include all associated breaks.Indeed, avail windows may be several hours long, for example, in caseswhere audience demographics are not expected to change significantlyover large programming blocks. In this regard, an MSO may merge multipleavail windows provided by programming networks.

More specifically a break may include a series of asset delivery spotsand the content of a break may be determined by a number of entities.For example, some asset delivery is distributed on a basis coextensivewith network programming, e.g., on a national basis. This asset deliveryis conventionally scheduled based on a timed playlist. That is, theinsertion of content is centrally controlled to insert assets at definedtimes. Accordingly, the programming and national asset delivery may beprovided by the programming networks as a continuous content streamwithout cues for asset insertion. For example, prime-time programming onthe major networks is often principally provided in this fashion.

In other cases, individual spots within a break are allocated forRegional Operations Center (ROC), affiliate, super headend or local(headend, zone) content. In these cases, a cue tone or messageidentifies the start of the asset delivery spot or spots (a series ofassets in a break may all trigger from one cue). The cue generallyoccurs a few seconds before the start of the asset delivery insertionopportunity and may occur, for example, during programming or during thebreak (e.g., during a national ad). The system of the present inventioncan be implemented at any or all levels of this hierarchy to allow fortargeting with respect to national, regional and local assets. In thecase of regional or local targeted asset delivery, synchronous assetoptions (as discussed below) may be inserted into designated bandwidthin response to cues. In the case of national asset delivery, networksignaling may be extended to provide signals identifying the start of anational spot or spots, so as to enable the inventive system to insertsynchronous national asset options into designated bandwidth. Forexample, such signaling may be encrypted for use only by the inventivetargeted asset system.

Network operators or local network affiliates can generally schedule thenon-national assets to be included within defined breaks or spots foreach ad-supported channel. Conventionally, this scheduling is finalizedahead of time, typically on a daily or longer basis. The scheduledassets for a given break are then typically inserted at the headend inresponse to the cue tone or message in the programming stream. Thus, forexample, where a given avail window includes three breaks (each of whichmay include a series of spots), the scheduled asset for the first breakis inserted in response to the first cue, the scheduled asset for thesecond break is inserted in response to the second cue, and thescheduled asset for the third break is inserted in response to the thirdcue. If a cue is missed, all subsequent assets within an avail windowmay be thrown off.

It will be appreciated that such static, daily scheduling can beproblematic. For example, the programming schedule can often change dueto breaking news, ripple effects from schedule over-runs earlier in theday or the nature of the programming. For example, certain live eventssuch as sporting events are difficult to precisely schedule. In suchcases, static asset delivery schedules can result in a mismatch ofscheduled asset to the associated programming. For example, when a highvalue programming event such as a certain sporting event runs over theexpected program length, it may sometimes occur that assets intended foranother program or valued for a smaller audience may be shown when ahigher value or better-tailored asset could have been used if a moredynamic scheduling regime were available. The present invention allowsfor such dynamic scheduling as will be discussed in more detail below.The invention can also accommodate evolving standards in the field ofdynamic scheduling.

C. The Conventional Asset Delivery Paradigm

Conventional broadcast networks may include asset-supported and premiumcontent channels/networks. As noted above, programming content generallycomes at a substantial cost. That is, the programming providers expectto be compensated for the programming that they provide which hasgenerally been developed or acquired at significant cost. Thatcompensation may be generated by asset delivery revenues, by fees paidby users for premium channels, or some combination of the two. In somecases, funding may come from another source such as public funding.

In the case of asset-supported networks, the conventional paradigminvolves time-slot buys. Specifically, asset providers generallyidentify a particular program or time-slot on a particular network wherethey desire their assets to be aired. The cost for the airing of theasset depends on a number of factors, but one primary factor is the sizeof the audience for the programming in connection with which the assetis aired. Thus, the standard pricing model is based on the cost perthousand viewers (CPM), though other factors such as demographics oraudience composition are involved as discussed below. The size of theaudience is generally determined based on ratings. The most commonbenchmark for establishing these ratings is the system of Nielsen MediaResearch Corporation (Nielsen). One technique used by Nielsen involvesmonitoring the viewing habits of a presumably statistically relevantsampling of the universe of users. Based on an analysis of the samplegroup, the Nielsen system can estimate what portion of the audienceparticular programs received and, from this, an estimated audience sizefor the program can be projected. Thus, the historical performance ofthe particular program, for example, as estimated by the Nielsen system,may be used to set asset delivery prices for future breaks associatedwith that program.

In practice, this results in a small number of programming networksbeing responsible for generating a large portion of the overall assetrevenues. This is graphically depicted in FIG. 4 which generallyillustrates this phenomenon, although it is not based on actual numbers.As shown in FIG. 4, it is often the case that three or four programmingnetworks out of many available programming networks garner very largeshares whereas the remaining programming networks have small ornegligible share. Indeed, in some cases, many programming networks willhave a share that is so small that it is difficult to statisticallycharacterize based on typical Nielsen sampling group sizes. In thesecases, substantial asset revenues may be generated in connection withthe small number of programming networks having a significant sharewhile very little revenue is generated with respect to the otherprogramming networks. This is true even though the other programmingnetworks, in the aggregate, may have a significant number of users inabsolute terms. Thus, the conventional paradigm often fails to generaterevenues commensurate with the size of the total viewing audienceserviced by the network operator. As discussed below, this is a missedrevenue opportunity that can be addressed in accordance with the presentinvention.

As noted above, the pricing for asset delivery depends on the size ofthe viewing audience and certain other factors. One of those factorsrelates to the demographics of interest to the asset provider. In thisregard, a given program will generally have a number of differentratings for different demographic categories. That is, the programgenerally has not only a household rating, which is measured against theuniverse of all households with televisions, but also a rating fordifferent demographic categories (e.g., males 18-24), measured againstthe universe of all members of the category who have televisions. Thus,the program may have a rating of 1 (1%) overall and a rating of 2 (2%)for a particular category. Typically, when asset providers buy atime-slot, pricing is based on a rating or ratings for the categories ofinterest to the asset provider. This results in significantinefficiencies due to poor matching of the audience to the desireddemographics.

Conventionally, asset insertion is accomplished at the headend. This isillustrated in FIG. 3. In the illustrated system 300, the headend 302includes a program feed 304 and an asset source 306. As noted above, theprogram feed 304 may be associated with a variety of programming sourcessuch as video storage, an antenna, satellite dish or fiber feed from astudio or the like. The asset source 306 may include a tape library orother storage system for storing pre-recorded assets. A platformassociated with the headend 302—in this case, denoted a selector308—inserts programming from the program feed 304 and assets from theasset source 306 into the video stream of an individual channel 310.This is done for each channel to define the overall content 312 that isdistributed to subscribers (or at least to a node filter). Typically,although not necessarily, the selector 308 effectively toggles betweenthe program feed 304 and the asset source 306 such that the programmingand assets are inserted in alternating, non-time overlapping fashion.Thus, as shown in FIG. 3, a particular channel may include a timesegment 314 of programming followed by a cue tone 316 (which may occur,for example, during a programming segment, or during a time period of anasset provided with the programming stream, just prior to an insertionopportunity) to identify the initiation of a break 318. In response tothe tone, the selector 308 is operative to insert assets into theprogramming stream for that channel. At the conclusion of the break 318,the selector 308 returns to the program feed to insert a furtherprogramming segment 320. An example of a timeline in this regard isshown in FIG. 15.

This content 312 or a filtered portion thereof is delivered to CPEs 322.In the illustrated embodiment the CPE 322 is depicted as including asignal processing component 324 and a television display 326. It will beappreciated that these components 324 and 326 may be embodied in asingle device and the nature of the functionality may vary. In the caseof a digital cable user, the signal processing component 324 may beincorporated into a digital set top box (DSTB) for decoding digitalsignals. Such boxes are typically capable of bi-directional messagingwith the headend 302 which will be a significant consideration inrelation to functionality described below.

II. System Overview

A. The Targeted Asset Deliver Environment

Against this backdrop described in the context of the conventional assetdelivery paradigm, a system embodying the present invention is describedbelow. The inventive system, in the embodiments described below, allowsfor delivery of targeted assets such as advertising so as to addresscertain shortcomings or inefficiencies of conventional broadcastnetworks. Generally, such targeting entails delivering assets to desiredgroups of individuals or individuals having desired characteristics.These characteristics or audience classification parameters may bedefined based on personal information, demographic information,psychographic information, geographic information, or any otherinformation that may be relevant to an asset provider in identifying atarget audience. Preferably, such targeting is program independent inrecognition that programming is a highly imperfect mechanism fortargeting of assets. For example, even if user analysis indicates that aparticular program has an audience comprised sixty percent of women, andwomen comprise the target audience for a particular asset, airing onthat program will result in a forty percent mismatch. That is, fortypercent of the users potentially reached may not be of interest to theasset provider and pricing may be based only on sixty percent of thetotal audience. Moreover, ideally, targeted asset delivery would allowfor targeting with a range of granularities including very finegranularities. For example, it may be desired to target a group, such asbased on a geographical grouping, a household characterization or evenan individual user characterization. The present invention accommodatesprogram independent targeting, targeting with a high degree ofgranularity and targeting based on a variety of different audienceclassifications.

FIGS. 5 and 6 illustrate two different contexts of targeted assetdelivery supported in accordance with the present invention.Specifically, FIG. 5 illustrates the delivery of different assets, inthis case ads, to different users watching the same programming channel,which may be referred to as spot optimization. As shown, three differentusers 500-502 are depicted as watching the same programming, in thiscase, denoted “Movie of the Week.” At a given break 504 the users500-502 each receive a different asset package. Specifically, user 500receives a digital music player ad and a movie promo, user 501 receivesa luxury car ad and a health insurance ad, and user 502 receives aminivan ad and a department store ad. Alternately, a single assetprovider (e.g., a motor vehicle company) may purchase a spot and thenprovide different asset options for the spot (e.g., sports car,minivans, pickup trucks, etc.). Similarly, separate advertisers maycollectively purchase a spot and then provide ads for their respectiveproducts (e.g., where the target audiences of the advertisers arecomplementary). It will be appreciated that these different assetpackages may be targeted to different audience demographics. In thismanner, assets are better tailored to particular viewers of a givenprogram who may fall into different demographic groups. Thus, spotoptimization refers to the delivery of different assets (by one ormultiple asset providers) in a given spot.

FIG. 6 illustrates a different context of the present invention, whichmay be termed audience aggregation. In this case, three different users600-602 viewing different programs associated with different channelsmay receive the same asset or asset package. In this case, each of theusers 600-602 receives a package including a digital music player ad anda movie promo in connection with breaks associated with their respectivechannels. Though the users 600-602 are shown as receiving the same assetpackage for purposes of illustration, it is likely that different userswill receive different combinations of assets due to differences inclassification parameters. In this manner, users over multiple channels(some or all users of each channel) can be aggregated (relative to agiven asset and time window) to define a virtual channel havingsignificant user numbers matching a targeted audience classification.Among other things, such audience aggregation allows for the possibilityof aggregating users over a number of low share channels to define asignificant asset delivery opportunity, perhaps on the order of thatassociated with one of the high share networks. This can beaccomplished, in accordance with the present invention, using equipmentalready at a user's premises (i.e., an existing CPE). Such a virtualchannel is graphically illustrated in FIG. 7, though this illustrationis not based on actual numbers. Thus, audience aggregation refers to thedelivery of the same asset in different spots to define an aggregatedaudience. These different spots may occur within a time windowcorresponding to overlapping (conflicting) programs on differentchannels. In this manner, it is likely that these spots, even if atdifferent times within the window, will not be received by the sameusers.

Such targeting including both spot optimization and audience aggregationcan be implemented using a variety of architectures in accordance withthe present invention. Thus, for example, as illustrated in FIG. 8,targeted asset insertion can be implemented at the CPEs. This mayinvolve a forward-and-store functionality. As illustrated in FIG. 8, theCPE 800 receives a programming stream 802 and an asset delivery stream804 from the headend 808. These streams 802 and 804 may be provided viaa common signal link such as a coaxial cable or via separatecommunications links. For example, the asset delivery stream 804 may betransmitted to the CPE 800 via a designated segment, e.g., a dedicatedfrequency range, of the available bandwidth or via a programming channelthat is opportunistically available for asset delivery, e.g., when it isotherwise off air. The asset delivery stream 804 may be provided on acontinuous or intermittent basis and may be provided concurrently withthe programming stream 802. In the illustrated example, the programmingstream 802 is processed by a program decoding unit, such as DSTB, andprogramming is displayed on television set 814. Alternatively, theprogramming stream 802 may be stored in programming storage 815 for CPEinsertion.

In the illustrated implementation, the asset, together with metadataidentifying, for example, any audience classification parameters of thetargeted audience, is stored in a designated storage space 806 of theCPE 800. It will be appreciated that substantial storage at the CPE 800may be required in this regard. For example, such storage may beavailable in connection with certain digital video recorder (DVR) units.A selector 810 is implemented as a processor running logic on the CPE800. The selector 810 functions analogously to the headend selectordescribed above to identify breaks 816 and insert appropriate assets. Inthis case, the assets may be selected based on classification parametersof the household or, more preferably, a user within the household. Suchinformation may be stored at the CPE 800 or may be determined based onan analysis of viewing habits such as a click stream from a remotecontrol as will be described in more detail below. Certain aspects ofthe present invention can be implemented in such a CPE insertionenvironment.

In FIG. 9, a different architecture is employed. Specifically, in FIG.9, asset options transmitted from headend 910 synchronously with a givenbreak on a given channel for which targeted asset options are supported.The CPE 900 includes a channel selector 902 which is operative to switchto an asset channel associated with a desired asset at the beginning ofa break and to return to the programming channel at the end of thebreak. The channel selector 902 may hop between channels (between assetchannels or between an asset channel and the programming channel) duringa break to select the most appropriate assets. In this regard, logicresident on the CPE 900 controls such hopping to avoid switching to achannel where an asset is already in progress. As described below, thislogic can be readily implemented, as the schedule of assets on eachasset channel is known. Preferably, all of this is implemented invisiblyfrom the perspective of the user of set 904. The different options maybe provided, at least in part, in connection with asset channels 906 orother bandwidth segments (separate from programming channels 908)dedicated for use in providing such options. In addition, certain assetoptions may be inserted into the current programming channel 908.Associated functionality is described in detail below. The architectureof FIG. 9 has the advantage of not requiring substantial storageresources at the CPE 900 such that it can be immediately implemented ona wide scale basis using equipment that is already in the field.

As a further alternative, the determination of which asset to show maybe made at the headend. For example, an asset may be selected based onvoting as described below, and inserted at the headend into theprogramming channel without options on other asset channels. This wouldachieve a degree of targeting but without spot optimizationopportunities as described above. Still further, options may be providedon other asset channels, but the selection as between those channels maybe determined by the headend. For example, information about a householdor user (e.g., brand of car owned, magazines subscribed to, etc.) storedon the headend may be used to match an asset to a household or user.That information, which may be termed “marketing labels,” may be used bythe headend to control which asset is selected by the CPE. For example,the CPE may be instructed that it is associated with an “ACME preferred”customer. When an asset is disseminated with ACME preferred metadata,the CPE may be caused to select that asset, thereby overriding (orsignificantly factoring with) any other audience classificationconsiderations. However, it will be appreciated that such operation mayentail certain concerns relating to sensitive information or maycompromise audience classification based targeting in other respects.

A significant opportunity thus exists to better target users whom assetproviders may be willing to pay to reach and to better reachhard-to-reach users. However, a number of challenges remain with respectto achieving these objectives including: how to provide asset optionswithin network bandwidth limitations and without requiring substantialstorage requirements and new equipment at the user's premises; how toobtain sufficient information for effective targeting while addressingprivacy concerns; how to address a variety of business related issues,such as pricing of asset delivery, resulting from availability of assetoptions and attendant contingent delivery; and how to operateeffectively within the context of existing network structure and systems(e.g., across node filters, using existing traffic and billing systems,etc.).

From the foregoing it will be appreciated that various aspects of theinvention are applicable in the context of a variety of networks,including broadcast networks. In the following discussion, specificimplementations of a targeted asset system are discussed in the contextof a cable television network. Though the system enhances viewing forboth analog and digital users, certain functionality is convenientlyimplemented using existing DSTBs. It will be appreciated that, whilethese represent particularly advantageous and commercially valuableimplementations, the invention is not limited to these specificimplementations or network contexts.

B. System Architecture

In one implementation, the system of the present invention involves thetransmission of asset options in time alignment or synchronization withother assets on a programming channel, where the asset options are atleast partially provided via separate bandwidth segments, e.g. channelsat least temporarily dedicated to targeted asset delivery. Although suchoptions may typically be transmitted in alignment with a break inprogramming, it may be desired to provide options opposite continuingprogramming (e.g., so that only subscribers in a specified geographicarea get a weather announcement, an emergency announcement, electionresults or other local information while others get uninterruptedprogramming). Selection as between the available options is implementedat the user's premises, as by a DSTB in this implementation. In thismanner, asset options are made available for better targeting, withoutthe requirement for substantial storage resources or equipment upgradesat the user's premises (e.g., as might be required for aforward-and-store architecture). Indeed, existing DSTBs can beconfigured to execute logic for implementing the system described belowby downloading and/or preloading appropriate logic.

Because asset options are synchronously transmitted in thisimplementation, it is desirable to be efficient in identifying availablebandwidth and in using that bandwidth. Various functionality forimproved bandwidth identification, e.g., identifying bandwidth that isopportunistically available in relation to a node filter, is describedlater in this discussion. Efficient use of available bandwidth involvesboth optimizing the duty cycle or asset density of an availablebandwidth segment (i.e., how much time, of the time a bandwidth segmentis available for use in transmitting asset options, is the segmentactually used for transmitting options) and the value of the optionstransmitted. The former factor is addressed, among other things, byimproved scheduling of targeted asset delivery on the asset channels inrelation to scheduled breaks of the programming channels.

The latter factor is addressed in part by populating the availablebandwidth spots with assets that are most desired based on currentnetwork conditions. These most desired assets can be determined in avariety of ways including based on conventional ratings. In the specificimplementation described below, the most desired assets are determinedvia a process herein termed voting FIG. 10 illustrates an associatedmessaging sequence 1000 in this regard as between a CPE 1002 such as aDSTB, a network platform for asset insertion such as a headend 1004 anda traffic and billing (T&B) system 1006 used in the illustrated examplefor obtaining asset delivery orders or contracts and billing for assetdelivery. It will be appreciated that the functionality of the T&Bsystem 1006 may be split between multiple systems running on multipleplatforms and the T&B system 1006 may be operated by the networkoperator or may be separately operated.

The illustrated sequence begins by loading contract information 1008from the T&B system 1006 onto the headend 1004. An interface associatedwith system 1006 allows asset providers to execute contracts fordissemination of assets based on traditional timeslot buys (for a givenprogram or given time on a given network) or based on a certain audienceclassification information (e.g., desired demographics, psychographics,geography, and/or audience size). In the latter case, the asset provideror network may identify audience classification information associatedwith a target audience. The system 1006 uses this information to compilethe contract information 1008 which identifies the asset that is to bedelivered together with delivery parameters regarding when and to whomthe asset is to be delivered.

The illustrated headend 1004 uses the contract information together witha schedule of breaks for individual networks to compile an asset optionlist 1010 on a channel-by-channel and break-by-break basis. That is, thelist 1010 lists the universe of asset options that are available forvoting purposes for a given break on a given programming channeltogether with associated metadata identifying the target audience forthe asset, e.g., based on audience classification information. Thetransmitted list 1010 may encompass all supported programming channelsand may be transmitted to all participating users, or the list may belimited to one or a subset of the supported channels e.g., based on aninput indicating the current channel or the most likely or frequentchannels used by a particular user or group of users. The list 1010 istransmitted from the headend 1004 to the CPE 1002 in advance of a breakfor which options are listed.

Based on the list 1010, the CPE 1002 submits a vote 1012 back to theheadend 1004. More specifically, the CPE 1002 first identifies theclassification parameters for the current user(s) and perhaps thecurrent channel being watched, identifies the assets that are availablefor an upcoming break (for the current channel or multiple channels) aswell as the target audience for those assets and determines a “fit” ofone or more of those asset options to the current classification. In oneimplementation, each of the assets is attributed a fit score for theuser(s), e.g., based on a comparison of the audience classificationparameters of the asset to the putative audience classificationparameters of the current user(s). This may involve how well anindividual user classification parameter matches a corresponding targetaudience parameter and/or how many of the target audience parameters arematched by the user's classification parameters. Based on these fitscores, the CPE 1012 issues the vote 1012 indicating the mostappropriate asset(s). Any suitable information can be used to providethis indication. For example, all scores for all available asset options(for the current channel or multiple channels) may be included in thevote 1012. Alternatively, the vote 1012 may identify a subset of one ormore options selected or deselected by the CPE 1002, with or withoutscoring information indicating a degree of the match and may furtherinclude channel information. In one implementation, the headend 1004instructs CPEs (1002) to return fit scores for the top N asset optionsfor a given spot, where N is dynamically configurable based on anyrelevant factor such as network traffic levels and size of the audience.Preferably, this voting occurs shortly before the break at issue suchthat the voting more accurately reflects the current status of networkusers. In one implementation, votes are only submitted for theprogramming channel to which the CPE is set, and votes are submittedperiodically, e.g., every fifteen minutes.

The headend 1004 compiles votes 1012 from CPEs 1002 to determine a setof selected asset options 1014 for a given break on a supportedprogramming channel. As will be understood from the description below,such votes 1012 may be obtained from all relevant and participating CPEs1002 (who may be representative of a larger audience including analog orotherwise non-participating users) or a statistical sampling thereof. Inaddition, the headend 1004 determines the amount of bandwidth, e.g., thenumber of dedicated asset option channels, that are available fortransmission of options in support of a given break for a givenprogramming channel.

Based on all of this information, the headend 1004 assembles a flotillaof assets. e.g., the asset options having the highest vote values or thehighest weighted vote values where such weighting takes into accountvalue per user or other information beyond classification fit. Such aflotilla may include asset options inserted on the current programmingchannel as well as on asset channels, though different insertionprocesses and components may be involved for programming channel andasset channel insertion. It will be appreciated that some assets may beassembled independently or largely independently of voting, for example,certain public service spots or where a certain provider has paid apremium for guaranteed delivery. Also, in spot optimization contextswhere a single asset provider buys a spot and then provides multipleasset options for that spot, voting may be unnecessary (though votingmay still be used to select the options).

In one implementation, the flotilla is assembled into sets of assetoptions for each dedicated asset channel, where the time length of eachset matches the length of the break, such that channel hopping within abreak is unnecessary. Alternatively, the CPE 1002 may navigate betweenthe asset channels to access desired assets within a break provided thatasset starts on the relevant asset channels are synchronized). However,it will be appreciated that the flotilla matrix (where columns includeoptions for a given spot and rows correspond to channels) need not berectangular. Stated differently, some channels may be used to provideasset options for only a portion of the break, i.e., may be used at thestart of the break for one or more spots but are not available for theentire break, or may only be used after one or more spots of a breakhave aired. A list of the selected assets 1014 and the associated assetchannels is then transmitted together with metadata identifying thetarget audience in the illustrated implementation. It will beappreciated that it may be unnecessary to include the metadata at thisstep if the CPE 1002 has retained the asset option list 1010. This list1014 is preferably transmitted shortly in advance of transmission of theasset 1016 (which includes sets of asset options for each dedicatedcontact options channel used to support, at least in part, the break atissue).

The CPE 1002 receives the list of selected asset options 1014 andassociated metadata and selects which of the available options todeliver to the user(s). For example, this may involve a comparison ofthe current audience classification parameter values (which may or maynot be the same as those used for purposes of voting) to the metadataassociated with each of the asset options. The selected asset option isused to selectively switch the CPE 1002 to the corresponding dedicatedasset options channel to display the selected asset 1016 at thebeginning of the break at issue. One of the asset option sets, forexample, the one comprised of the asset receiving the highest votevalues, may be inserted into the programming channel so that switchingis not required for many users. Assuming that the voting CPEs are atleast somewhat representative of the universe of all users, asignificant degree of targeting is thereby achieved even for analog orotherwise non-participating users. In this regard, the voters serve asproxies for non-voting users. The CPE 1002 returns to the programmingchannel at the conclusion of the break. Preferably, all of this istransparent from the perspective of the user(s), i.e., preferably nouser input is required. The system may be designed so that any userinput overrides the targeting system. For example, if the user changeschannels during a break, the change will be implemented as if thetargeting system was not in effect (e.g., a command to advance to thenext channel will set the CPE to the channel immediately above thecurrent programming channel, without regard to any options currentlyavailable for that channel, regardless of the dedicated asset channelthat is currently sourcing the television output).

In this system architecture, as in forward-and-store architectures orany other option where selections between asset options are implementedat the CPE, there will be some uncertainty as to how many users orhouseholds received any particular asset option in the absence ofreporting. This may be tolerable from a business perspective. In theabsence of reporting, the audience size may be estimated based on votingdata, conventional ratings analysis and other tools. Indeed, in theconventional asset delivery paradigm, asset providers accept Nielsenrating estimates and demographic information together with marketanalysis to gauge return on investment. However, this uncertainty isless than optimal in any asset delivery environment and may beparticularly problematic in the context of audience aggregation acrossmultiple programming networks, potentially including programmingnetworks that are difficult to measure by conventional means.

The system of the present invention preferably implements a reportingsystem by which individual CPEs 1002 report back to the headend 1004what asset or assets were delivered at the CPE 1002 and, optionally, towhom (in terms of audience classification). Additionally, the reportsmay indicate where (on what programming channel) the asset was deliveredand how much (if any) of the asset was consumed. Such reports 1018 maybe provided by all participating CPEs 1002 or by a statistical samplingthereof. These reports 1018 may be generated on a break-by-break basis,periodically (e.g., every 15 minutes) or may be aggregated prior totransmission to the headend 1004. Reports may be transmitted soon afterdelivery of the assets at issue or may be accumulated, e.g., fortransmission at a time of day where messaging bandwidth is moreavailable. Moreover, such reporting may be coordinated as between theCPEs 1002 so as to spread the messaging load due to reporting.

In any case, the reports 1018 can be used to provide billing information1020 to the T&B system 1006 for valuing the delivery of the variousasset options. For example, the billing information 1020 can be used bythe T&B system 1006 to determine how large an audience received eachoption and how well that audience matched the target audience. Forexample, as noted above, a fit score may be generated for particularasset options based on a comparison of the audience classification tothe target audience. This score may be on any scale, e.g., 1100.Goodness of fit may be determined based on this raw score or based oncharacterization of this score such as “excellent,” “good,” etc. Again,this may depend on how well an individual audience classificationparameter of a user matches a corresponding target audience parameterand/or how many of the target audience parameters are matched by theuser's audience classification parameters. This information may in turnbe provided to the asset provider, at least in an aggregated form. Inthis manner, the network operator can bill based on guaranteed deliveryof targeted messages or scale the billing rate (or increase delivery)based on goodness of fit as well as audience size. The reports (and/orvotes) 1018 can also provide a quick and detailed measurement of userdistribution over the network that can be used to accurately gaugeratings, share, demographics of audiences and the like. Moreover, thisinformation can be used to provide future audience estimationinformation 1022, for example, to estimate the total target universebased on audience classification parameters.

It will thus be appreciated that the present invention allows a networkoperator such as an MSO to sell asset delivery under the conventionalasset delivery (time-slot) buy paradigm or under the new commercialimpression paradigm or both. For example, a particular MSO may choose tosell asset delivery space for the major networks (or for these networksduring prime time) under the old time-slot buy paradigm while using thecommercial impression paradigm to aggregate users over multiple lowmarket share networks. Another MSO may choose to retain the basictime-slot buy paradigm while accommodating asset providers who may wishto fill a given slot with multiple options targeted to differentdemographics. Another MSO may choose to retain the basic time-slot buyparadigm during prime time across all networks while using the targetedimpression paradigm to aggregate users at other times of the day. Thetargeted impression paradigm may be used by such MSOs only for thislimited purpose.

FIG. 12 is a flow chart illustrating an associated process 1200. Anasset provider (or agent thereof) can initiate the illustrated process1200 by accessing (1202) a contracting platform as will be describedbelow. Alternatively, an asset provider can work with the salesdepartment or other personnel of a system operator or other party whoaccesses such a platform. As a still further alternative, an automatedbuying system may be employed to interface with such a platform via asystem-to-system interface. This platform may provide a graphical userinterface by which an asset provider can design a dissemination strategyand enter into a corresponding contract for dissemination of an asset.The asset provider can then use the interface to select (1204) toexecute either a time-slot buy strategy or a targeted impression buystrategy. In the case of a time-slot buy strategy, the asset providercan then use the user interface to specify (1206) a network andtime-slot or other program parameter identifying the desired air timesand frequency for delivery of the asset. Thus, for example, an assetprovider may elect to air the asset in connection with specificallyidentified programs believed to have an appropriate audience. Inaddition, the asset provider may specify that the asset is to appearduring the first break or during multiple breaks during the program. Theasset provider may further specify that the asset is to be, for example,aired during the first spot within the break, the last spot within thebreak or otherwise designate the specific asset delivery slot.

Once the time-slots for the asset have thus been specified, the MSOcauses the asset to be embedded (1208) into the specified programmingchannel asset stream. The asset is then available to be consumed by allusers of the programming channel. The MSO then bills (1210) the assetprovider, typically based on associated ratings information. Forexample, the billing rate may be established in advance based onprevious rating information for the program in question, or the bestavailable ratings information for the particular airing of the programmay be used to bill the asset provider. It will thus be appreciated thatthe conventional time-slot buy paradigm is limited to delivery to allusers for a particular time-slot on a particular network and does notallow for targeting of particular users of a given network or targetingusers distributed over multiple networks in a single buy.

In the case of targeted impression buys, the asset provider can use theuser interface as described in more detail below to specify (1212)audience classification and other dissemination parameters. In the caseof audience classification parameters, the asset provider may specifythe gender, age range, income range, geographical location, lifestyleinterest or other information of a targeted audience. The additionaldissemination parameters may relate to delivery time, frequency,audience size, or any other information useful to define a targetaudience. Combinations of parameters may also be specified. For example,an asset provider may specify an audience size of 100,000 in aparticular demographic group and further specify that the asset is notdelivered to any user who has already received the asset a predeterminednumber of times.

Based on this information, the targeted asset system of the presentinvention is operative to target appropriate users. For example, thismay involve targeting only selected users of a major network.Additionally or alternatively, this may involve aggregating (1214) usersacross multiple networks to satisfy the audience specifications. Forexample, selected users from multiple programming channels may receivethe asset within a designated time period in order to provide anaudience of the desired size, where the audience is composed of usersmatching the desired audience classification. The user interfacepreferably estimates the target universe based on the audienceclassification and dissemination parameters such that the asset providerreceives an indication of the likely audience size.

The aggregation system may also be used to do time of day buys. Forexample, an asset provider could specify audience classificationparameters for a target audience and further specify a time and channelfor airing of the asset. CPEs tuned to that channel can then select theasset based on the voting process as described herein. Also, assetproviders may designate audience classification parameters and a runtime or time range, but not the programming channel. In this manner,significant flexibility is enabled for designing a disseminationstrategy. It is also possible for a network operator to disable some ofthese strategy options, e.g., for business reasons.

Based on this input information, the targeted asset system of thepresent invention is operative to provide the asset as an option duringone or more time-slots of one or more breaks. In the case of spotoptimization, multiple asset options may be disseminated together withinformation identifying the target audience so that the most appropriateasset can be delivered at individual CPEs. In the case of audienceaggregation, the asset may be provided as an option in connection withmultiple breaks on multiple programming channels. The system thenreceives and processes (1218) reports regarding actual delivery of theasset by CPEs and information indicating how well the actual audiencefit the classification parameters of the target audience. The assetprovider can then be billed (1220) based on guaranteed delivery andgoodness of fit based on actual report information. It will thus beappreciated that a new asset delivery paradigm is defined by whichassets are targeted to specific users rather than being associated withparticular programs. This enables both better targeting of individualusers for a given program and improved reach to target users onlow-share networks.

From the foregoing, it will be appreciated that various steps in themessaging sequence are directed to matching assets to users based onclassification parameters, allowing for goodness of fit determinationsbased on such matching or otherwise depending on communicating audienceclassification information across the network. It is preferable toimplement such messaging in a manner that is respectful of user privacyconcerns and relevant regulatory regimes.

In the illustrated system, this is addressed by implementing the systemfree from persistent storage of a user profile or other sensitiveinformation including, for example, personally identifiable information(PII). Specifically, it may be desired to protect as sensitiveinformation subject matter extending beyond the established definitionof PII. As one example in this regard, it may be desired to protect MACaddresses even though such addresses are not presently considered to beincluded within the definition of PII in the United States. Generally,any information that may entail privacy concerns or identify networkusage information may be considered sensitive information. Moreparticularly, the system learns of current network conditions prior totransmission of asset options via votes that identify assets without anysensitive information. Reports may also be limited to identifying assetsthat have been delivered (which assets are associated with targetaudience parameters) or characterization of the fit of audienceclassification parameters of a user(s) to a target audience definition.Even if it is desired to associate reports with particular users, e.g.,to account for ad skipping as discussed below, such association may bebased on an identification code or address not including PII. In anyevent, identification codes or any other information deemed sensitivecan be immediately stripped and discarded or hashed, and audienceclassification information can be used only in anonymous and aggregatedform to address any privacy concerns. With regard to hashing, sensitiveinformation such as a MAC or IP address (which may be included in adesignated header field) can be run through a hash function andreattached to the header, for example, to enable anonymousidentification of messages from the same origin as may be desired.Moreover, users can be notified of the targeted asset system and allowedto opt in or opt out such that participating users have positivelyassented to participate.

Much of the discussion above has referenced audience classificationparameters as relating to individuals as opposed to households. FIG. 11illustrates a theoretical example of a CPE 1101 including a televisionset 1100 and a DSTB 1102 that are associated with multiple users1103-1106. Arrow 1107 represents a user input stream, such as a clickstream from a remote control, over time. A first user 1105, in this casea child, uses the television 1100 during a first time period—forexample, in the morning. Second and third users 1103 and 1104(designated “father” and “mother”) use the television during timeperiods 1109 and 1110, which may be, for example, in the afternoon orevening. A babysitter 1106 uses the television during a night timeperiod in this example.

This illustrates a number of challenges related to targeted assetdelivery. First, because there are multiple users 1103-1106, targetingbased on household demographics would have limited effectiveness. Forexample, it may be assumed that the child 1105 and father 1103 in manycases would not be targeted by the same asset providers. Moreover, insome cases, multiple users may watch the same television at the sametime as indicated by the overlap of time periods 1109-1110. In addition,in some cases such as illustrated by the babysitter 1106 an unexpecteduser (from the perspective of the targeted asset system) may use thetelevision 1100.

These noted difficulties are associated with a number of objectives thatare preferably addressed by the targeted asset system of the presentinvention. First, the system should preferably be operative todistinguish between multiple users of a single set and, in the contextof the system described above, vote and report to the networkaccordingly. Second, the system should preferably react over time tochanging conditions such as the transitions from use by father 1103 touse by both father and mother 1103 and 1104 to use by only mother 1104.The system should also preferably have some ability to characterizeunexpected users such as the babysitter 1106. In that case, the systemmay have no other information to go on other than the click stream 1107.The system may also identify time periods where, apparently, no user ispresent, though the set 1100 may still be on. Preferably, the systemalso operates free from persistent storage of any user profile orsensitive information so that no third party has a meaningfulopportunity to misappropriate such information or discover the privatenetwork usage patterns of any of the users 1103-1106 via the targetedasset system. Privacy concerns can alternatively be addressed byobtaining consent from users. In this matter, sensitive informationincluding PII can be transmitted across the network and persistentlystored for use in targeting. This may allow for compiling a detaileduser profile, e.g., at the headend. Assets can then be selected based onthe user profile and, in certain implementations, addressed to specificCPEs.

In certain implementations, the present invention monitors the clickstream over a time window and applies a mathematical model to match apattern defined by the click stream to predefined audienceclassification parameters that may relate to demographic orpsychographic categories. It will be appreciated that the click streamwill indicate programs selected by users, volume and other informationthat may have some correlation, at least in a statistical sense, to theclassification parameters. In addition, factors such as the frequency ofchannel changes and the length of time that the user lingers on aparticular asset may be relevant to determining a value of an audienceclassification parameter. The system can also identify instances wherethere is apparently no user present.

In a first implementation, logic associated with the CPE 1101 usesprobabilistic modeling, fuzzy logic and/or machine learning toprogressively estimate the audience classification parameter values of acurrent user or users based on the click stream II 07. This process mayoptionally be supplemental based on stored information (preferably freeof sensitive information) concerning the household that may, forexample, affect probabilities associated with particular inputs. In thismanner, each user input event (which involves one or more items ofchange of status and/or duration information) can be used to update acurrent estimate of the audience classification parameters based onassociated probability values. The fuzzy logic may involve fuzzy datasets and probabilistic algorithms that accommodate estimations based oninputs of varying and limited predictive value.

In a second implementation, the click stream is modeled as an incompleteor noisy signal that can be processed to obtain audience classificationparameter information. More specifically, a series of clicks over timeor associated information can be viewed as a time-based signal. Thisinput signal is assumed to reflect a desired signature or pattern thatcan be correlated to audience classification parameters. However, thesignal is assumed to be incomplete or noisy—a common problem in signalprocessing. Accordingly, filtering techniques are employed to estimatethe “true” signal from the input stream and associated algorithmscorrelate that signal to the desired audience classificationinformation. For example, a nonlinear adaptive filter may be used inthis regard.

In either of these noted examples, certain preferred characteristicsapply. First, the inputs into the system are primarily a click streamand stored aggregated or statistical data, substantially free of anysensitive information. This addresses privacy concerns as noted abovebut also provides substantial flexibility to assess new environmentssuch as unexpected users. In addition, the system preferably has aforgetfulness such that recent inputs are more important than olderinputs. Either of the noted examples accommodates this objective. Itwill be appreciated that such forgetfulness allows the system to adaptto change, e.g., from a first user to multiple users to a second user.In addition, such forgetfulness limits the amount of viewing informationthat is available in the system at any one time, thereby furtheraddressing privacy concerns, and limits the time period during whichsuch information could conceivably be discovered. For example,information may be deleted and settings may be reset to default valuesperiodically, for example, when the DSTB is unplugged.

A block diagram of a system implementing such a user classificationsystem is shown in FIG. 11B. The illustrated system is implemented in aCPE 1120 including a user input module 1122 and a classification module1124. The user input module receives user inputs, e.g., from a remotecontrol or television control buttons, that may indicate channelselections, volume settings and the like. These inputs are used togetherwith programming information 1132 (which allows for correlation ofchannel selections to programming and/or associated audience profiles)for a number of functions. In this regard, the presence detector 1126determines whether it is likely that a user is present for all or aportion of an asset that is delivered. For example, a long time periodwithout any user inputs may indicate that no user is present and payingattention or a volume setting of zero may indicate that the asset wasnot effectively delivered. The classifier 1128 develops audienceclassification parameters for one or more users of a household asdiscussed above. The user identifier is operative to estimate whichuser, of the classified users, is currently present. Together, thesemodules 1126, 1128 and 1130 provide audience classification informationthat can be used to vote (or elect not to vote) and/or generate reports(or elect not to generate reports).

As noted above, one of the audience classifications that may be used fortargeting is location. Specifically, an asset provider may wish totarget only users within a defined geographic zone (e.g., proximate to abusiness outlet) or may wish to target different assets to differentgeographic zones (e.g., targeting different car ads to users havingdifferent supposed income levels based on location). In certainimplementations, the present invention determines the location of aparticular CPE 1101 and uses the location information to target assetsto the particular CPE 1101. It will be appreciated that an indication ofthe location of a CPE 1101 contains information that may be consideredsensitive. The present invention also creates, extracts and/or receivesthe location information in a manner that addresses these privacyconcerns. This may also be accomplished by generalizing or otherwisefiltering out sensitive information from the location information sentacross the network. This may be accomplished by providing filtering orsorting features at the CPE 1101 or at the headend. For example,information that may be useful in the reporting process (i.e. todetermine the number of successful deliveries within a specifiedlocation zone) may be sent upstream with little or no sensitiveinformation included. Additionally, such location information can begeneralized so as to not be personally identifiable. For example, allusers on a given block or within another geographic zone (such asassociated with a zip plus 2 area) may be associated with the samelocation identifier (e.g., a centroid for the zone).

In one implementation, logic associated with the CPE 1101 sends anidentifier upstream to the headend 2304 where the identifier iscross-referenced against a list of billing addresses. The billingaddress that matches the identifier is then translated, for example,using GIS information, into a set of coordinates (e.g., Cartesiangeographic coordinates) and those coordinates or an associatedgeographic zone identifier are sent back to the CPE 1101 for storage aspart of its location information. Alternatively, a list may bebroadcast. In this case, a list including location information formultiple or all network users is broadcast and each CPE 1101 selectsit's own information. Asset providers can also associate target locationinformation with an asset. For example, in connection with a contractinterface as specified below, asset providers can define target assetdelivery zones. Preferably this can be done via a graphical interface(e.g., displaying a map), and the defined zones can match, to a finelevel of granularity, targeted areas of interest without being limitedto node areas or other network topology. Moreover, such zones can havecomplex shapes including discontiguous portions. Preferably the zonescan then be expressed in terms that allow for convenient transmission inasset metadata and comparison to user locations e.g., in terms of gridelements or area cells.

In another implementation, individual geographic regions are associatedwith unique identifiers and new regions can be defined based on theunion of existing regions. This can be extended to a granularityidentifying individual CPEs at its most fine level. Higher levelsincluding numerous CPEs may be used for voting and reporting to addressprivacy concerns.

Upon receipt of an asset option list or an asset delivery request (ADR),the CPE 1101 parses the ADR and determines whether the location of theCPE 1102 is included in the locations targeted by the asset referencedin the ADR. For example, this may involve a point in polygon or otherpoint in area algorithm, a radius analysis, or a comparison to a networkof defined grid or cells such as a quadtree data structure. The CPE 1101may then vote for assets to be received based on criteria includingwhether the location of that particular CPE 1101 is targeted by theasset.

After displaying an asset option, the CPE 1101 may also use its locationinformation in the reporting process to enhance the delivery data sentupstream. The process by which the CPE 1101 uses its locationinformation removes substantially all sensitive information from thelocation information. For example, the CPE 1101 may report that an assettargeted to a particular group of locations was delivered to one of thelocations in the group. The CPE 1101 in this example would not reportthe location to which asset was actually delivered.

Similarly, it is often desired to associate tags with asset selections.Such tags are additional information that is superimposed on or appendedto such assets. For example, a tag may provide information regarding alocal store or other business location at the conclusion of an assetthat is distributed on a broader basis. Conventionally, such tags havebeen appended to ads prior to insertion at the headend and have beenlimited to coarse targeting. In accordance with the present invention,tags may be targeted to users in particular zones, locations or areas,such as neighborhoods. Tags may also be targeted based on other audienceclassification parameters such as age, gender, income level, etc. Forexample, tags at the end of a department store ad may advertise specialson particular items of interest to particular demographics.Specifically, a tag may be included in an asset flotilla andconditionally inserted based on logic contained within the CPE 1101.Thus the tags are separate units that can be targeted like other assets,however, with conditional logic such that they are associated with thecorresponding asset.

The present invention may use information relating to the location of aparticular CPE 1101 to target a tag to a particular CPE 1101. Forexample, the CPE 1101 may contain information relating to its locationin the form of Cartesian coordinates as discussed above. If an assetindicates that a tag may be delivered with it or instead of it, the CPE1101 determines whether there is, associated with any of the potentialtags, a location criterion that is met by the location informationcontained in the particular CPE 1101. For example, a tag may include alocation criterion defining a particular neighborhood. If the CPE 1101is located in that neighborhood, the CPE 1101 may choose to deliver thetag, assuming that other criteria necessary for the delivery of the tagare met. Other criteria may include the time available in the givenbreak, other demographic information, and information relating to thenational or non-localized asset.

As briefly note above, targeting may also be implemented based onmarketing labels. Specifically, the headend may acquire information ormarketing labels regarding a user or household from a variety ofsources. These marketing labels may indicate that a user buys expensivecars, is a male 18-24 years old, or other information of potentialinterest to an asset provider. In some cases, this information may besimilar to the audience classification parameters, though it mayoptionally be static (not varying as television users change) and basedon hard data (as opposed to being surmised based on viewing patterns orthe like). In other cases, the marketing labels may be more specific orotherwise different than the audience classification. In any event, theheadend may inform the CPE as to what kind of user/household it is interms of marketing labels. An asset provider can then target an assetbased on the marketing labels and the asset will be delivered by CPEswhere targeting matches. This can be used in audience aggregation andspot optimization contexts.

Thus, the targeted asset system of the present invention allows fortargeting of assets in a broadcast network based on any relevantaudience classification, whether determined based on user inputs such asa click stream, based on marketing labels or other information pushed tothe customer premises equipment, based on demographic or otherinformation stored or processed at the headend, or based on combinationsof the above or other information. In this regard, it is thereforepossible to use, in the context of a broadcast network, targetingconcepts that have previously been limited to other contexts such asdirect mail. For example, such targeting may make use of financialinformation, previous purchase information, periodical subscriptioninformation and the like. Moreover, classification systems developed inother contexts, may be leveraged to enhance the value of targetingachieved in accordance with the present invention.

An overview of the system has thus been provided, including introductorydiscussions of major components of the system, which provides a systemcontext for understanding the operation of those components. The variouscomponents will now be described in greater detail in the followingsections.

III. Component Overview

A. Measurement and Voting

As discussed above, in order to provide targeted assets to users of atelevision network, signals received from at least a portion of the CPEsmay be utilized to select asset options for delivery and/or to determinethe size and composition of the viewing audience. For example, a networkoperator may receive signals from all or a sampling of network users.This sampling is preferably both statistically significant (in terms ofsampling size) and valid in terms of being sufficiently random to bereliably representative of the universe of all relevant users. In somecases, the network operator may receive signals only from users who have“opted in” or agreed to participate in the targeted asset system, andthis group of users may not be statistically significant or relevant. Inmany cases, however, these signals may indicate channels currently beingviewed and/or the audience classification of current users. In thisregard, a two-way communication path between a network platform such asa headend and CPEs, such as DSTBs, of one or more households may beprovided over a network interface.

FIG. 13 illustrates communications between a network 1304 platform orplatforms operating a targeted asset system in accordance with thepresent invention and a CPE 1308. In this regard, the platform 1304 mayinclude various combinations of the components discussed above inrelation to FIGS. 1-12. Generally, the platform 1304 includes a headendthat is operative to communicate with CPE over a network interface 1310.As shown, the CPE 1308 includes a digital set top box (DSTB). As will beappreciated, each user in the network 1304 may have such a DSTB or asub-set (less than all) of the viewers may have such DSTBs. Some usersmay have a DSTB but only use it some of the time, e.g., only whenwatching HDTV programming. Moreover, some users may have a DSTB butchoose not to participate in the targeted asset system. In any event, atleast a portion of the network viewers have a CPE 1308 that is operativeto receive signals via the network interface 1310 as well as providesignals to the network 1304 via the network interface 1310 for purposesof the targeted asset delivery system. Further, the network 1304 may bein communication with a traffic and billing platform 1360 which may actas an intermediary between asset providers 1370 and the networkoperator. In this regard, the T&B platform 1360 may receive targetaudience parameters and other constraints from the asset providers 1370as well as provide billing information to such asset providers 1370based on the delivery of such assets. The T&B platform 1360 may alsomanage the flow of targeted assets.

Generally, signals received from a CPE 1308 are utilized by the presentsystem for at least three separate applications, which in some instancesmay also be combined. These applications may be termed measurement,voting and reporting. Reporting is described in more detail below.Measurement relates to the use of the signals to identify the audiencesize and, optionally, the classification composition of the audience.This information assists in estimating the universe of users availablefor targeting, including an estimate of the size and composition of anaudience that may be aggregated over multiple channels (e.g., includinglow share channels) to form a substantial virtual channel. Accordingly,a targeted asset may be provided for the virtual channel to enhance thenumber of users who receive the asset. Voting involves the use ofsignals received from CPEs 1308 to provide an asset based on assetindications from the CPEs. In any case, assets may be selected andinserted into one or more transmitted data streams based on signalsreceived from one or more CPEs 1308.

With regard to audience measurement, the two-way communication betweenthe platform 1304 and CPE 1308 allows for gathering information whichmay indicate, at least implicitly, information regarding audience sizeand audience classification composition. In this regard, individual CPEs1308 may periodically or upon request provide a signal to the platform1304 indicating, for example, that an individual CPE 1308 is active andwhat channel is currently being displayed by the CPE 1308. Thisinformation, which may be provided in connection with voting, reportingon other messages (e.g., messages dedicated to measurement) can be usedto infer audience size and composition. Wholly apart from the targetedasset system, such information may be useful to support ratings andshare information or for any other audience measurement objective. Suchinformation may also be utilized to tailor transmissions to the CPE 1308and reduce bandwidth and processing requirements. Referring briefly toFIG. 7, it is noted that of the available programming channels, fourprogramming channels have the largest individual share of users (e.g.,the four major networks). However, there are numerous other users in thenetwork albeit in smaller shares of the total on a channel-by-channelbasis. By providing a common set of asset options to the users of two ormore of the programming channels having a small market share (or even tousers of programming channels with large shares), a virtual channel maybe created. That is, a common asset option or set of asset options maybe provided to an aggregated group from multiple programming channels.Once combined, the effective market share of a virtual channel composedof users from small share channels may approximate the market share of,for example, one of the four major networks.

While the aggregation of the users of multiple programming channels intoa virtual channel allows for providing a common set of asset options toeach of the programming channels, it will be appreciated that the assetwill generally be provided for each individual programming channel atdifferent times. This is shown in FIG. 15 where two differentprogramming channels (e.g., 1502 and 1504), which may be combined into avirtual channel, have different scheduled breaks 1512, 1514. In thisregard, an asset may be provided on the first channel 1502 prior to whenthe same asset is provided on the second channel 1504. However, thiscommon asset may still be provided within a predetermined time window(e.g., between 7 p.m. and 8 p.m.). In this regard, the asset may bedelivered to the aggregated market share represented by the virtualchannel (or a subset thereof) within defined constraints regardingdelivery time. Alternatively, the size of such an aggregated audiencemay be estimated in advance based on previous reporting, ratings andcensus data, or any other technique. Thus measurement or voting is notnecessary to accomplish targeting, though such detailed assetinformation is useful. Actual delivery may be verified by subsequentreporting. As will be appreciated, such aggregation allows a networkoperator to disseminate assets based on the increased market share ofthe virtual channel(s) in relation to any one of the subsumedprogramming channels, as well as allowing an asset provider to moreeffectively target a current viewing audience.

Another application that is supported by signals from CPEs is theprovision of targeted assets to current users of one or more channelswithin the network, e.g., based on voting. Such an application isillustrated in FIG. 14, where, in one arrangement, signals received fromCPEs 1410 (only one shown) may be utilized to select assets (e.g., abreak asset and/or programming) for at least one programming channel1450. In this regard, such assets may be dynamically selected forinsertion into the data stream of the programming channel 1450, forexample, during a break or other designated time period. In a furtherarrangement, unused bandwidth of the network is utilized to provideparallel asset streams during a break or designated time period of thetargeted channel 1450. In the context of a break, multiple assetchannels 1460A-N may be used to provide asset options during a singlebreak, wherein each asset channel 1460A-N may provide options directedto different groups of viewers and/or otherwise carry different assets(e.g., users having similar audience classification parameters mayreceive different assets due to a desired sequencing of packaged assetsas discussed below).

In such an arrangement, the CPE 1410 may be operative to select betweenalternate asset channels 1460A-N based on the noted signals from the CPE1410. In addition to targeted audience aggregation, such a system may bedesirable to enhance revenues or impact for programming, including largeshare programming (spot optimization). That is, a single break may beapportioned to two or more different asset providers, or, a single assetprovider may provide alternate assets where the alternate assets targetdifferent groups of users. Though discussed herein as being directed toproviding different break or interstitial assets to different groups ofusers, it should be noted that the system may also be utilized toprovide different programming assets.

An associated asset targeting system implementing a voting process isillustrated in FIG. 14. The asset targeting system of FIG. 14 has aplatform 1404, which includes a structure of the network (i.e., upstreamfrom the users/households) that is operative to communicate with CPEs1410 (only one shown) within the network. The illustrated CPE 1410includes a signal processing device 1408, which in the presentillustration is embodied in a DSTB. Generally, the platform 1404 isoperative to communicate with the CPE 1410 via a network interface 1440.In order to provide parallel asset channels 1460A-N during a break of aprogramming channel, e.g., channel 1450, the platform 1404 is incommunication with one or more of the following components: a scheduledatabase 1420, an available asset option database 1422, voting database1424, a flotilla constructor 1426, a channel arbitrator 1428, and aninserter 1430. Of note, the listed components 1420-1430 do not have tobe located at a common network location. That is, the various componentsof the platform 1404 may be distributed over separate locations withinthe network and may be interconnected by any appropriate communicationinterfaces.

Generally, the schedule database 1420 includes information regarding thetiming of breaks for one or more programming channels, the asset optiondatabase 1422 includes available asset metadata identifying the assetand targeted audience classification parameters, and the voting database1424 includes voting information obtained from one or more CPEs for usein targeting assets. The actual assets are generally included in aseparate database (not shown). The flotilla constructor 1426 is utilizedto populate a break of a programming channel and/or asset channels1460A-N with selected assets. The channel arbitrator 1428 is utilized toarbitrate the use of limited bandwidth (e.g., available asset channels1460A-N) when a conflict arises between breaks of two or more supportedprogramming channels. Finally, the inserter 1430 is utilized to insertselected assets or targeted assets into an asset stream (e.g., of aprogramming channel 1450 and/or one or more asset channels 1460A-N)prior to transmitting the stream across the network interface 1440. Aswill be discussed herein, the system is operative to provide assetchannels 1460A-N to support asset options for breaks of multipleprogramming channels within the network.

In order to provide asset channels 1460A-N for one or more programmingchannels, the timing of the breaks on the relevant programming channelsis determined. For instance, FIG. 15 illustrates three programmingchannels that may be provided by the network operator to a household viaa network interface. As will be appreciated, many more channels may alsobe provided. The channels 1502, 1504 and 1506 comprise three programmingstreams for which targeted assets are provided. Users may switch betweeneach of these channels 1502, 1504 and 1506 (and generally many more) toselect between programming options. Each channel 1502, 1504 and 1506includes a break 1512, 1514 and 1516, respectively, during theprogramming period shown. During breaks 1512-1516 one or more assetspots are typically available. That is, a sequence of shorter assets maybe used to fill the 90-second break. For example, two, three or fourspots may be defined on a single channel for a single break. Differentnumbers of spots may be provided for the same break on differentchannels and a different number of channels may be used for differentportions of the break.

In order to provide notice of upcoming breaks or insertion opportunitieswithin a break, programming streams often include a cue tone signal 1530(or a cue message in digital networks) a predetermined time before thebeginning of each break or insertion opportunity. These cue tone signals1530 have historically been utilized to allow local asset providers toinsert localized assets into a network feed. Further, various channelsmay provide window start times and window end times during which one ormore breaks will occur. These start and end times define an availwindow. Again, this information has historically been provided to allowlocal asset providers to insert local assets into a broadcast stream.This information may also be utilized by the targeted asset system todetermine when a break will occur during programming. Accordingly, thesystem may be operative to monitor programming channels, e.g. 1502, 1504and 1506, for cue tone signals 1530 as well as obtain and storeinformation regarding window start and end times (e.g., in the scheduledatabase 1420). The available window information may be received fromthe T&B system and may be manually entered.

Due to the limited bandwidth available for providing targeted assetdelivery, it may be desirable to identify one or more characteristicsassociated with each programming, channel 1502, 1504 and 1506 whendetermining which channel(s) should receive targeted asset delivery forconflicting breaks or how available bandwidth should be apportionedamong the conflicting programming channels. In this regard, it will benoted that breaks on different channels are often at least partiallyoverlapping. For instance, the break 1514 of channel 1504 partiallyoverlaps the break 1516 on channel 1506. Accordingly, it may bedesirable to arbitrate the limited resources available for targetedasset delivery between the two channels 1504 and 1506.

For instance, the arbitrator 1428 (See FIG. 14) may determine that thefirst channel 1506 does not currently have enough users to warrant useof any available bandwidth to provide targeted asset delivery.Alternatively, the available bandwidth may be split between the firstand second channels 1504, 1506 such that targeting asset delivery may beprovided for each break 1514, 1516. As a further alternative, theavailable asset channels may be split between supporting the first andsecond channels 1504, 1506, for example, in proportion to theirrespective audience sizes. It is noted that it may be possible to use agiven asset channel in support of only a portion of a break, forexample, in connection with partially overlapping breaks, though thisinvolves certain practical difficulties related to scheduling andflotilla construction. This may also require knowledge of the underlyingbreak structure, e.g., to ensure that the viewer is not returned to thesecond half of a sixty-second asset. This information will generally notbe available to the CPE. Also, different numbers of asset channels maybe available at different time periods of a break. Signals received fromCPEs, e.g., recent or historical signals, may be utilized forarbitration purposes. Further, it will be appreciated that in someinstances one or more channels may include aligned breaks. For instance,channels having a common ownership entity (e.g., ESPN and ABC) may havealigned breaks for certain programming. Accordingly, bandwidth fortargeted asset delivery for these common channels may be shared.

Referring again to FIG. 14, the use of signals from the CPE 1410 mayallow for providing assets that are tailored to current users orotherwise providing different assets to different groups of users. Inthis regard, an asset that has targeting parameters that match theclassification parameters of the greatest number of users may beprovided within the broadcast stream of a supported programming channel1450 during a break. It is noted that the most appropriate asset maythereby be provided to analog or otherwise nonparticipating users(assuming the voters are representative of the relevant user universe),yielding a degree of targeting even for them. Moreover, some targetingbenefit can be achieved for a large number of programming channels, evenchannels that may not be supported by asset channels with respect to agiven break.

Alternatively or additionally, different assets may be provided on theasset channels 1460A-N during the break of a programming channel. Duringa break where asset channels 1460A-N are available, a CPE 1410 of aparticular household may, based on a determination implemented at theCPE 1410, switch to one of the asset channels 1460A-N that containsappropriate assets. Accordingly, such assets of the asset channel1460(A-N) may be displayed during the break. During the break, the CPE1410 may stay on one asset channel 1460A-N (in the case of a break withmultiple spots in sequence) or may navigate through the break selectingthe most appropriate assets. After the break, the CPE 1410 may switchback to the original programming channel (if necessary). This switchingmay occur seamlessly from the point of view of a user. In this regard,different assets may be provided to different users during the samebreak. As will be appreciated, this allows asset providers to targetdifferent groups during the same break. Further it allows for a networkoperator to market a single spot to two different asset providers on anapportioned basis (or allow a single asset provider to fill a singlespot with multiple asset options). Each asset provider may, for example,thereby pay for an audience that better matches its target.

The number of asset channels available for targeted asset delivery maybe limited by the available bandwidth (e.g., unused channels) of a givennetwork operator. As discussed below, the system may make use ofchannels that are opportunistically available, e.g., channels that areused for VOD at night may be available to support asset options duringthe day, or unused bandwidth within a node filter area may be used forthis purpose. FIG. 16A illustrates the use of four asset channels1601-1604 for providing assets during a break 1610 of a programmingchannel 1600. As shown, on each asset channel 1601-1604, the break 1610may be separated into one or more asset slots that may have differentdurations. However, in the case of FIG. 16A, the start and end times ofthe asset sets A-C, D-E, F-H and I-K carried by the asset channels1601-1604 are aligned with the start and end times of the break 1610.Each of the asset channels 1601-1604 may carry an asset that is targetedto a specific audience classification of the users of the targetedchannel 1600 or the users of additional programming channels having abreak aligned with the break 1610 of the programming channel 1600.

It should be noted that flotillas need not be rectangular as shown inFIG. 16A. That is, due to conflicts between breaks or the intermittentavailability of certain asset channels as discussed above, the totalnumber of asset channels used to support a given programming channel maychange during a break. This is illustrated in FIG. 16B. As shown, assetsA-N are provided during a break 1670 on asset channels 1671-1675 and thesupported programming channel 1676. In this case, channels 1674 and 1675(as well as programming channel 1676) provide assets throughout thebreak 1670. Channel 1673 does not provide assets until sometime afterthe break begins. Channel 1672 provides assets from the beginning of thebreak, but ceases to provide assets prior to the end of the break 1670.Channel 1671 starts providing assets after the start of the break 1670and ceases providing assets prior to the end of the break 1670. It willbe appreciated that complex flotilla shapes may be implemented.

Referring again to FIG. 16A, each asset channel 1601-1604 includes adifferent combination of assets A-K that may be targeted to differentviewers of the channel 1600 during a given break 1610. Collectively, theassets A-K carried by the asset channels 1601-1604 define a flotilla1605 that includes assets that may be targeted to different groups ofusers. The most appropriate assets for a given user may be on differentones of the channels 1601-1604 at different times during the break 1610.These can be delivered to the user by channel hopping during the breakwith due consideration given to the fact that spots on differentchannels 1601-1604 may not have the same start and end times. How thevarious spots in the flotilla 1650 are populated with assets isdescribed in more detail below.

The four asset channels 1601-1604 may be utilized to provide multipleasset options for different programming channels. For instance referringto FIG. 15, programming channels 1502 and 1506 have temporally distinctbreaks 1512 and 1515. Accordingly, the system may provide a firstfour-channel asset flotilla having a first set of assets during thefirst break 1512 for the first channel 1502. Likewise a secondfour-channel asset flotilla having a second set of assets may beprovided during the second break 1516 for the second channel 1506. Inthis regard, use of the bandwidth available for asset channels may beshared between programming channels 1502 and 1506. In cases where breaksoverlap (e.g., breaks 1514 and 1516), one channel may be selected fortargeted asset delivery, or, the available bandwidth for the assetchannels may be split between the conflicting breaks. For example, eachprogramming channel may be supported by a two-channel asset flotilla orone programming channel may be supported by three asset channels and theother programming channel supported by only one asset channel, forexample, due to relative audience sizes or asset delivery values.Arbitration of available bandwidth between conflicting channels ishandled by the channel arbitrator 1428, as will be more fully discussedherein.

Selection of assets to fill a break of a programming channel, or to fillthe available spots within each asset channel of a flotilla may be basedon votes of users of the programming channel. That is, assets may beselected by the flotilla constructor 1426 (See FIG. 14) in response tosignals received from CPEs 1410 within the network. As shown in FIG. 13,the process of selecting and providing targeted assets based on signalsfrom CPEs includes four general steps. Initially, the platform 1304provides (1320) an asset option list of proposed assets to the CPEs 1308in the network. This may be based on asset provider contracts andassociated ADRs. Next, each CPE 1308 votes (1330) on the mostappropriate asset or assets from the asset option list. That is, eachCPE 1308 provides a signal to the network 1304 that indicates the bestmatching asset(s) for the particular CPE 1308 based on a comparison oftarget information to audience classification information. Based on thevotes (1330) from one or more CPEs 1308, the platform 1304 selectstargeted assets from the available assets and generates (1340) an assetview list and an asset flotilla, which is provided to each voting CPE1308. For example, the asset view list many indicate channels whereassets are available and provide associated audience classificationinformation (if necessary) to assist in asset selection. Each CPE 1308may then receive the view list and flotilla.

The process by which the votes are used to populate the various assetspots in a flotilla may involve a number of considerations. Referringagain to FIG. 16A, the flotilla defines a matrix of assets illustratedas including a horizontal time axis and a vertical axis of assetchannels. In the simple case where all the assets correspond to spots ofthe same length (e.g., all 30 second spots and the same number of assetchannels are used throughout the break) the matrix would define a neatarrangement of rows and columns. The flotilla constructor would then beoperative, among other things, to map assets to row and column addressesof the matrix, for example, based on their vote rankings.

Some of the considerations that may be involved in this regard includethe following. First, the programming channel 1600 itself may bepopulated with an asset sequence determined based on voting. The assetsinserted into the programming channel will be delivered to analog andotherwise nonparticipating users, as well as to participating userswhose CPEs select that asset sequence, and may therefore be expected toconstitute the largest user segment of the flotilla. Accordingly, assetswith higher vote rankings may be inserted on the programming channel1600.

In addition, in the case of breaks including more than two spots, firstand last spots may be deemed more valuable by asset providers thanmiddle spots. Accordingly, higher vote ranking assets may be favored forfirst and last spots, resulting in population of the matrix more on acolumn-by column basis as a function of votes rather than on arow-by-row basis. However, and somewhat by contrast, it may be desiredto time stagger the highest vote ranking assets, for example, so that agiven user may have the opportunity to view both the top voted asset andthe second-most voted asset.

The process of populating the flotilla matrix may also take into accountdemographics determined independent of the voting process. Thus, asnoted above, if twelve spots are included in the flotilla, the spots maybe apportioned to reflect, for example, the demographic composition ofthe program audience—e.g., two-thirds female and one-third male, ortwo-thirds female 18-34 years old and one-third female 34 and over—orthe weighted average of the program audience (e.g., resulting in adisproportionate channel allocation for audience segments or assetsdeemed to have an exceptionally high or low per user value). Suchinformation may be based, for example, on conventional ratingsinformation.

Moreover, this flotilla population process may take into account systemlimitations. For example, if the system is implemented without theability to navigate between or a preference against navigating betweendifferent channels during a given break, or if it is desired to minimizehops during a break, then the flotilla may be constructed so that agiven channel has assets intended for a consistent audienceclassification throughout a break. That is, votes may be tabulated on aclassification dependent basis and then corresponding rows may bepopulated based on the votes. Additionally, in connection with packagedassets having a desired sequencing, such sequencing may be considered inflotilla construction.

The flotilla construction process may also take into account thedesirability of effectively navigating through an entire break, whichmay entail multiple channel hops. For example, it has been noted assetoptions may be included on the programming channel as well as on assetchannels. However, the underlying structure of the assets interleavedinto the programming content is generally not known. Accordingly, eitherinformation regarding such underlying structure can be provided throughappropriate signaling or returns to the programming channel during abreak can be precluded so as to avoid switching to an asset in progress.

It is also desirable that each customer premises equipment device beable to navigate across a break selecting assets that are appropriatefor the current user. For example, a flotilla may include a number ofcolumns correspondent to a sequence of asset spots for a break. If onecolumn included all assets directed to children, non-children userswould be left without an appropriate asset option for that spot. Thus,options for avoiding such situations include making sure that a widelytargeted asset is available in each column or time period, or that theunion of the subsets defined by the targeting constraints for each assetin a column or time period represents the largest possible subset of theuniverse of users. Of course, this may conflict with other flotillaconstruction goals and an optimal solution may need to be arbitrated. Inaddition, where an issue arises as to which assets to include in aflotilla, the identity of the relevant asset providers may be considered(e.g., a larger volume asset provider or an asset provider who has paidfor a higher level of service may be given preference).

It will be appreciated that a variety of factors may be reflected in analgorithm for using the vote information to populate a flotilla. Forexample, Gantt chart logic or other conditional scheduling logic may beimplemented in this regard.

Alternatively, asset options may be provided via a forward-and-storearchitecture in the case of CPEs with substantial storage resources,e.g., DVRs. In this regard, an asset may be inserted into a designatedbandwidth segment and downloaded via the network interface to thestorage of the CPE. Accordingly, the CPE may then selectively insert theasset from the storage into a subsequent break. Further, in thisarchitecture, the assets of the stored options and associated metadatamay include an expiration time. Assets may be discarded (e.g., deleted)upon expiration regardless of whether they have been delivered. In thisarchitecture, it will be appreciated that the transmission of assetsdoes not have a real-time component, so the available bandwidth may varyduring transmission. Moreover, a thirty second asset may be transmittedin five seconds or over thirty minutes. The available assets may bebroadcast to all CPEs with individual CPEs only storing appropriateassets. In addition, due to storage limitations, a CPE may delete anasset of interest and re-record it later.

In contrast, in the asset channel architecture, the flotilla istransmitted in synchronization with the associated break and requireslittle or no storage at the CPE. In either case, once an asset from thestorage or flotilla is displayed, each CPE 1308 may provide (1350) anasset delivery notification (ADN) to the network platform 1304indicating that the particular asset was delivered. The platform 1304may then provide aggregated or compiled information regarding the totalnumber of users that received a given asset to a billing platform 1360.Accordingly, individual asset providers may be billed in accordance withhow many users received a given asset. Each of these steps 1320-1350 ismore fully discussed herein.

As noted, signals from the individual CPEs 1308 may be utilized fortargeted asset system purposes. However, it will be appreciated thatwhile it is possible to receive vote signals from each CPE 1308 in anetwork, such full network ‘polling’ may result in large bandwidthrequirements. In one alternate implementation, statistical sampling isutilized to reduce the bandwidth requirements between the network 1304and the CPEs 1308. As will be appreciated, sampling of a statisticallysignificant and relevant portion of the CPEs 1308 will provide a usefulrepresentation of the channels currently being used as well as a usefulrepresentation of the most appropriate assets for the users using thosechannels.

In order to provide statistical sampling for the network, a sub-set ofless than all of the CPEs 1304 may provide signals to the networkplatform 1304. For instance, in a first arrangement, each CPE 1308 mayinclude a random number generator. Periodically, such a random numbergenerator may generate an output. If this output meets a predeterminedcriteria (e.g., a number ending with 5), the CPE 1308 may provide asignal to the network 1304 in relation to an option list. Alternatively,the platform 1304 may be operative to randomly select a subset of CPEs1308 to receive a request for information. In any case, it is preferablethat the subset of CPEs 1308 be large enough in comparison to the totalnumber of CPEs 1308 to provide a statistically accurate overview ofcurrent network conditions. However, where a fully representativesampling is not available, attendant uncertainties can be addressedthrough business rules, e.g., providing a reduced price or greaterdissemination to account for the uncertainty.

Referring again to FIG. 14, as noted, a network operator initiallyprovides an asset option list (the same as list 1010 of FIG. 10) to atleast the CPEs within the network that will vote on assets from thelist. Generally, the asset option list includes a list of availableassets for one or more upcoming breaks. In this regard, it will beappreciated that a platform 1404 within the network, see FIG. 14, may beoperative to obtain schedule information for all programming channelsthat have been identified to be supported by targeted assets. Theplatform 1404 may then use the schedule information to communicate withCPEs 1410 over the network interface 1440 prior to a break. Inparticular, the platform 1404 may be operative to provide the assetoption list to CPEs 1410, for example, periodically.

FIGS. 17A-17B illustrate exemplary asset option lists 1700.Specifically, FIG. 17A shows assets listed on a per break, per channelbasis. FIG. 17B shows assets listed for multiple breaks (specifyingaudience classification parameters and, optionally, channels includingvirtual channels) in a single list. Each asset option 1710A-N in thelist 1700 of FIG. 17A is available for viewing during a subsequentbreak. In this regard, an asset provider may have requested that eachsuch asset option 1710A-N be made available for a particular time windowand/or for a particular channel (i.e., which may include virtualchannels). Furthermore, the asset option list 1700 may include one ormore constraints 1712A-N for each available asset option 1710A-N. Suchconstraints 1712A-N may include, without limitation, audienceclassification parameter information such as the desired age range,gender, geographic location and/or household income of the targetaudience for each asset 1710A-N. Once the list 1710A-N of asset optionsis sent to a CPE 1410, the CPE 1410 reviews the asset options and voteson the suitability of providing those asset options to a current user ofthe CPE 1410. In the case of FIG. 17B, CPEs may vote with respect to allasset options matching the current programming channel or anotherchannel deemed relevant.

This process is illustrated in FIG. 18. As shown, the CPE initiallyreceives (1810) an asset option list corresponding to the assets thatare available for at least one upcoming break. The CPE then selects(1820) current classification information, which includes putativeinformation associated with one or more users of the household. The CPEthen identifies (1830) constraints for a first asset within the list andscores (1840) the asset according to the suitability of the asset forinsertion at a subsequent break. In general, the asset options arescored (1840) based on the constraints of the asset as well as theaudience classification information. For instance, an asset having anage constraint (at least for the age parameter) specifying users betweenthe ages of 50 and 60 may be scored low or not at all (at least for theage parameter) in relation to an audience classification indicating acurrent viewer is between the ages of 18 and 39. In one arrangement, themore closely the asset targeting constraints (which may be expressed interms of audience classification parameters) and the audienceclassification information for a user match, the higher the score forthat asset. Likewise, the greater the divergence between the targetingconstraints and the audience classification information, the lower thescore for that asset. In another arrangement, a simple positive (i.e.,matching targeting constraints and audience classification) or negative(i.e., mismatch of targeting constraints and audience classification)may be provided.

A determination is then made as to whether there are additional assetsfor scoring. If so, the identification (1830) and scoring (1840) stepsare repeated for each asset. Once each relevant asset within the assetoption list has been scored (1840), the scores are transmitted (1850) tothe network operator via the network interface. For example, the CPE maybe instructed to return scores for the top N assets for a given break orspot, where N is dynamically configurable. By returning scores to thenetwork operator rather than providing audience classificationinformation for a particular user, information regarding a currentnetwork audience is gathered without exposing sensitive information tothe network.

Generally, scores from the individual CPEs are tallied to form acomposite score. The composite score indicates the degree to which,independent of a specific user, a particular asset would be suitable forviewing by a current audience during a subsequent break. In this regard,a network controller may rank the assets according to their compositescores for subsequent insertion during a break.

A number of factors in addition to vote scores may be relevant in thisregard. First, CPEs may express a negative preference or exclusion. Forexample, in connection with a child user, certain subject matter may beexcluded. This may be implemented by having the asset provider, anetwork operator or another party such as a regulatory entity enter an“adult only” or similar constraint in connection with the assetmetadata. An appropriate field may be provided in connection with a GUIof platform 1370. In this manner, offensive asset delivery can bereduced or avoided for sensitive users. Asset providers or networks (tothe extent that laws or regulations allow) may also define exclusions.Thus, an asset provider may indicate that an asset should or should notbe run in connection with certain types of programs (e.g., that itshould not be run in connection with a “G” rated program). As a furtherexample, a political candidate may enter an exclusion to avoid airingassets on a news network or other network perceived to have aconflicting political base or agenda (or the network may exclude assetsfrom that candidate). Commodity codes may also be used in this regard.Thus, assets may be associated with commodity codes relating to thesubject matter of the asset. These codes may be used by asset providers,network operators or others to avoid undesired association (e.g.,successive ads for competitive products). Similarly, networks having areligious affiliation may exclude assets deemed repugnant. Many moreexamples may be envisioned in this regard. Moreover, negativepreferences or exclusions may be specific to users or households and maybe implemented at the CPE. For example, parental control oridiosyncratic concerns may be addressed in this manner. It will thus beappreciated that exclusions or negative preferences may be entered by avariety of entities via a variety of interfaces and may be reflected inasset metadata, voting metadata, selection algorithms or other places.

An additional factor that may be considered in relation to voting andasset selection relates to the concepts of asset frequency and progress.Frequency defines the number of times that an asset provider desires anasset to be shown at a given CPE (or, in the present context, to aparticular user) during a given time period (may be a week, a month,during a whole campaign or other period). Progress measures how well agiven CPE (or user) is doing in achieving this target. These factors maybe used in voting and asset selection. For example, if inadequateprogress has been made to date by a user for a specific asset, thatuser's CPE will be more likely to vote for the asset at issue and toselect it if available. Moreover, these factors may be considered at theheadend. For example, if a large number of users are behind in terms ofprogress, that asset may be inserted in a flotilla regardless of votingand may be designated for obligatory delivery by at least theappropriate users.

More specifically, the flotilla constructor 1426 (See FIG. 14) maycreate a view list and/or populate a flotilla for a subsequent break. Asshown in FIG. 16, the flotilla includes multiple slots, e.g., of varyinglength, on asset channels 1660A-N. In one arrangement, the entireflotilla 1650 may be populated with assets based on the overall votescores of the assets. For instance, the assets from the asset optionlist having the highest scores may be selected. The combined length ofany sequence of assets selected for a given asset channel 1660A-N willmatch the length of the break 1610. Alternatively, each asset channelmay be populated with assets based on their scores as well as one ormore demographic constraints.

For instance, during a major sporting event it may be anticipated (orverified from vote information) that a majority of the expected users ofthe relevant programming channel are males. Accordingly, three of theasset channels 1601-1604 may be populated with assets targeted to males.Alternatively, a designated proportion of the overall spots A-K may bededicated to assets targeted to males, or voting may simply be allowedto proceed, presumably resulting in a large proportion of the insertedassets being male targeted assets (though it may be desired to reservesome spots for minority classification users). In this regard, thehighest scoring assets directed to male viewers may be selected.Further, the three asset channels 1601-1603 (or individual spots) may bedirected to sub-groups of male viewer (e.g., based on age and/orincome). In contrast, the fourth asset channel 1604 (or a set of spots)may be populated with assets directed towards female viewers to provideasset delivery to a previously non-represented portion of the audienceor all spots may be allocated based on voting, which may or may notapportion the spots as described. As will be appreciated, assets may beselected for the fourth asset channel 1604 to include, for example, thehighest scoring assets from the asset option list that have a constraintindicating that the asset is targeted towards females. Once the flotillais populated, the CPE of each household may select a particular assetchannel for viewing during the break or may switch between assetscontained on different asset channels within the flotilla based onaudience classification information of the current user of the CPE.

It will be appreciated that other considerations may be involved inflotilla construction. For example, asset providers often desire toplace assets in the first or the last spot within a break (hence, breaksare often 60 seconds long so as to include only first and last 30 secondspots). Moreover, asset providers may require a particular assetsequencing or pay a premium for a certain placement regardless of votingrank. Accordingly, significant care may be required in populating aflotilla with respect to rank or other factors.

To enable the CPE to switch to a designated asset channel for a break(or, for certain implementations, between asset options within theflotilla during a break) metadata may be provided in connection witheach asset channel(s) and/or programming channel(s). As will beappreciated, each individual asset channel is a portion of an assetstream having a predetermined bandwidth. These asset channels may befurther broken into in-band and out-of-band portions. Generally, thein-band portion of the signal supports the delivery of an asset stream(e.g., video). Triggers may be transmitted via the out-of-hand portionof a channel. Further, such out-of-band portions of the bandwidth may beutilized for the delivery of the asset option list as well as a returnpath for use in collecting votes and reporting information from the CPE.More generally, it will be appreciated that in the various casesreferenced herein where messaging occurs between the CPE and a networkplatform, any appropriate messaging channels may be used includingseparate IP or telephony channels.

The metadata for particular assets may be included in the out-of-bandportion of an associated asset channel and may be in the form of textmessages. For instance, these text messages may be DCII text messages,headers that are multiplexed into the out-of-band portion of each assetchannel. In this regard, the CPE may review the metadata of each assetchannel to identify which asset channel contains asset most closelyaligned with an audience classification of a current user.

Based on the metadata, the CPE may select individual assets or assetsets depending on the implementation. Thus, in certain implementations,the CPE may select an asset for the first time-slot of a break that bestcorresponds to the audience classification of the current user. Thisprocess may be repeated for each time-slot within a break.Alternatively, an asset flotilla may include a single metadata set foreach asset channel and the CPE may simply select one asset channel foran entire break.

Referring to FIGS. 14 and 19, the process of selecting assets forinsertion into one or more asset channels is described. Initially, theplatform 1404 identifies (1910) breaks in channels that are targeted forasset delivery. In this regard, the platform 1404 may access theschedule database 1420, which includes scheduling data for programmingchannels, to identify upcoming breaks. Further, the process may includeidentifying (1920) overlapping breaks of programming channels. If thereis a conflict between two breaks identified for targeted assets, anarbitration process may be implemented (1930) by the arbitrator 1428. Ifno conflict exists, asset channels may be allocated (1940) to providemultiple asset options for an upcoming break. Accordingly, voting datamay then be received (1950), for example from the voting data database1424 (which stores data compiled from received votes), for an upcomingtime period that includes the upcoming break.

Based on the voting data, the platform 1404 may access the asset optionsdatabase 1422 to populate (1960) the asset channels that form theflotilla with assets for the upcoming break. Once the flotilla ispopulated (1960), it may be broadcast in synchronization with a breakfor which targeted asset delivery is provided. In this regard, themethod may include inserting (1970) the flotilla into allocated assetchannels and, perhaps, in the programming channel. As will beappreciated this step may include providing metadata in connection withthe programming channel, asset channels or other bandwidth such that aCPE is aware that asset channels having alternate assets are availableand can select therefrom. For example, metadata on the programmingchannel may indicate to the CPE which asset channels are available suchthat the CPE may monitor the available asset channels and select assetsbased on the audience classification of a current user and the assetchannel metadata.

Referring to FIG. 20, an arbitration process 2000 is illustrated. Asnoted above, in some instances two programming channels identified fortargeted assets may have conflicting breaks. For instance, referringbriefly to FIG. 15 it is noted that channels 1504 and 1506 haveconflicting (i.e., non-aligned and overlapping) breaks 1514 and 1516. Itshould be noted that the exact timing of breaks cannot be determinedwith great precision and such timing is generally not known until a cueoccurs. As discussed below, this timing can be estimated based onhistorical data to obtain a statistical probability function identifyingwhen breaks will occur. Accordingly, in cases where limited bandwidth isavailable for providing targeted asset delivery, it may be desirable toarbitrate between channels apparently having conflicting breaks. Thismay allow, for example, asset providers to target one or moredemographic groups that are better represented by one of the conflictingchannels, to target the channel having a greater number of users or toproportionally allocate the bandwidth based on such factors. In thisregard, the process may include monitoring (2010) a plurality ofprogramming channels for which targeted asset delivery is provided andidentifying (2020) a first upcoming break on the first channel and asecond upcoming break on the second channel, where the first and secondupcoming breaks are only partially overlapping.

In the illustrated implementation, information associated with a currentstatus of at least one, and more preferably both, of the first andsecond channels is obtained (2030). This information is utilized toarbitrate (2040) between the first and second channels in order toprovide targeted asset delivery for at least one of the channels. Forinstance, the information may include information associated with a sizeof a current audience for one or both of the first and second channels.It may also include audience classification information. In this regard,it may be desirable to arbitrate (2040) between the first and secondchannel based on audience size; that is, to provide targeted assetdelivery only or mostly for the channel having a larger viewingaudience. Alternatively or additionally, audience classificationinformation for the current users of the first and/or second channelsmay be obtained (it will often be desired to maximize revenues and, inthis regard, an asset with a smaller target audience but a higher CPMmay be selected for a given spot over an asset with a larger audiencebut lower CPM). As a further example, alternate flotillas may beconstructed for a break based on voting and then the highest revenueflotilla may be inserted. Audience classification information may beinferred, for example, from the votes of CPEs of the first and secondchannels in responding to recently sent asset options lists. Likewise,arbitration (2040) may be made based on a desired audienceclassification parameter (e.g., high income individuals) irrespective ofthe overall size of the viewing audiences of the first and secondchannels. In this regard, the channel having a greater percentage ornumber of users of a desired classification may be selected. Forexample, an asset for a certain luxury car may have more value ifdelivered to a small audience, provided that that audience includes moreprospective buyers. In this regard it is noted that flotillaoptimization may involve maximizing factors other than vote scores,e.g., asset delivery revenues. Similarly, the criteria utilized forarbitration (2040) may be selected by asset providers. Once a channel isselected based on the arbitration (2040), targeted asset delivery may beprovided (2050) to the selected channels. Of course, both channels maybe supported with smaller flotillas.

B. Bandwidth Optimization

Bandwidth available for transmission of asset options is generallylimited. Accordingly, the asset targeting system can be enhanced byoptimizing the use of each asset channel and identifying additionalbandwidth for exploitation. With regard to optimizing the use of eachasset channel, scheduling information such as start times and end timesfor breaks may be obtained for each programming channel. That is,networks may define avail windows and this information may be accessedfor use by the targeted asset delivery system. This information may beutilized to determine approximately when one or more breaks will occuron a given programming channel. Accordingly, such information may beutilized for targeting and arbitration purposes. For instance, referringto FIG. 15, it will be noted that channel 1506 includes separate availwindows 1550 and 1560 that correspond to two separate breaks 1516, 1562.However, in some instances a particular channel may not provide separateavail window information for separate breaks. For instance, for channel1502, an avail window 1570 extends over the entire length of aprogramming period of the channel 1502. In these cases, multiple breaksmay be defined within a single window. Thus, the first break may beindicated by a first cue tone (or message) for a window, a second breakmay be indicated by a second cue tone within a window, etc. It will beappreciated that, if a cue tone is missed in the conventional availwindow context, the assets of all subsequent breaks may be affected.

As avail window information does not correspond directly to break startand end times, information about the avail windows 1550, 1560 and 1570may not alone allow for identifying when breaks will occur and/or ifbreaks on different channels will be overlapping. Accordingly, a processis provided for narrowing avail windows such that available bandwidthfor targeted asset delivery may be more effectively utilized and/orallocated. Referring to FIG. 21, the process (2100) begins by obtaining(2110) network provided avail window information for a programmingperiod of at least a first programming channel. The avail windowinformation identifies at least a first time period during which onebreak occurs. More generally, avail window information may be obtained(2110) for a plurality of channels (e.g., channels 1502, 1504 and 1506).Once the network provided window information is obtained (2110),historical information associated with the programming period of theprogramming channel(s) is procured (2120). For example, the system ofthe present invention may gather actual break times and statisticallyprocess this information. The historical information is analyzed toidentify (2130) historical run times for one or more breaks of theprogramming period for the programming channel(s). In this regard, thesystem may begin with only the available window information or withbaseline estimates of break times (which may be wrong). In either case,the system can then learn break times by monitoring breaks on channelsof interest. The system may be seeded with some historical information.

For instance, it may be determined that for a specified 30 minuteprogramming period of a sitcom, that a first break may start betweenfour and six minutes after the hour or half-hour and end between six andeight minutes after the hour or half-hour. Likewise, the beginning andending times of other breaks during the programming may be determined.Based on the historical information, the avail windows for a givenchannel may be narrowed (2140) to better correspond with historic breakstart times and end times. For instance, an average start time for abreak may be at five minutes after the hour, however, the start time mayvary between four and six minutes. Accordingly, the avail window starttime may be set at three and a half minutes after the hour to provide abuffer period. An end time for the avail window may likewise be set toextend beyond an expected/historic end time for the break. In thisregard, a single avail window (e.g., avail window 1570 of channel 1502)may be shortened to correspond more closely with a break (e.g., break1512) and/or broken into temporally separate time periods thatcorrespond with separate breaks. As noted above, probability functionscan be generated to describe when breaks will occur, and the bestallocation of available bandwidth can be based on these probabilities.In some cases, breaks will not occur when expected and, therefore,unexpected conflicts may arise. It is expected that arbitrationprocesses can be implemented with little lead time in these cases. Inany event, if asset channels are unavailable, targeted assets will stillbe available on the programming channel.

As will be appreciated, by narrowing the windows on two or moreprogramming channels, it may be determined that breaks of those channelsare non-overlapping. This may allow for providing targeted assetdelivery using all available asset channels for both programmingchannels. Alternatively, it may be determined that breaks of first andsecond channels are partially overlapping and that arbitration betweenthe channels is required. In any case, once the asset windows arenarrowed, the system may limit monitoring for each programming channelto the narrowed avail time windows. Narrowing the avail windows improvesuse of the available bandwidth. In this manner, asset options can beenhanced by a process of asset bandwidth multiplexing. Thus, a givenasset channel may support asset options for a first programming channelat a first time, for a second programming channel at a second time, andso on. This multiplexing is enhanced by narrowing the avail windows on astatistical basis as discussed above.

Asset options can be further improved by increasing the availablebandwidth. This is illustrated in FIG. 16C. The network bandwidthincludes programming channel bandwidth 1650 which may be divided into anumber of programming channels, dedicated asset channel bandwidth 1652which, as described above may include a number of channels that arededicated to delivery of asset options, and opportunistic asset channelbandwidth 1654 which includes channels that, although not dedicated todelivering asset options, may be available for this purpose from time totime. The system of the present invention is operative to identify andexploit the opportunistic asset channels. For example, certain channelsin a cable television network may be used at certain times to delivervideo on demand content. When these channels are not being used todeliver video on demand content, they may be exploited by the presentinvention to provide additional asset options. Similarly, as discussedabove, networks often include node filters that utilize availablebandwidth to deliver programming channels only upon demand by userswithin the node area. In these cases, where the node area users have notdemanded programming channels that fully utilized the availablebandwidth, channels may be opportunistically available for transmissionof asset options.

In FIG. 16C, the dedicated asset channel bandwidth 1652 is illustratedas including five dedicated asset channels. In addition, for theillustrated time period, the network is shown as including opportunisticasset channel bandwidth 1654 including four additional opportunisticasset channels. The illustrated breaks of 1656, 1658, 1660, 1661 and1663 illustrate a variety of ways in which the bandwidth 1652 and 1654may be utilized. Thus, breaks 1656 and 1658 occur at non-overlappingtimes. Accordingly, each break 1656 or 1658 can be supported by all ofthe dedicated asset channels and, in this case, do not utilize theopportunistically available asset channels 1654 (though theopportunistic asset channels may be utilized to support a broader arrayof targeting options). Breaks 1660 and 1661 overlap and thus present aconflict with regard to scheduling of the dedicated asset channels 1652.In the illustrated example, the dedicated asset channels are apportionedas between breaks 1660 and 1661, for example, in proportion to the sizeof the audience on those channels. Alternatively, the available assetoptions may be supplemented by using the opportunistic asset channel1654 as indicated in phantom. Finally, for break 1663, all of thededicated asset channels 1652 and some of the opportunistic assetchannels 1654 are utilized to support an increased range of assetoptions in support of the break 1663.

C. Dynamic Scheduling

As noted above, the system allows for dynamically inserting assets insupport of one or more programming channels based on current networkconditions. That is, assets may be selected for programming channels inview of current network conditions as opposed to being selected ahead oftime based on expected network conditions. A process 2200 directed todynamic insertion of assets with respect to a break of a televisionprogramming is illustrated in FIG. 22. As shown, the process begins bymonitoring 2210 a programming channel, for example, to determine acurrent program or current audience size. It will be appreciated that anumber of programming channels may be monitored. In any case statusinformation regarding a current status of at least one programmingchannel is procured (2220). Such procurement may include the receipt ofsignals from one or more CPEs (e.g., DSTBs) within the broadcastnetwork. In this regard, such status information may be received insubstantially real-time or at least within a time period thatcorresponds closely with the break for which targeted assets areprovided. The status information may include, without limitations thecurrent programs, the size of the current audience for one or moreprogramming channels, audience classification information regarding theaudience of a current programming channel, and/or the geographiccomposition of an audience of a current programming channel and, ofcourse, votes with regard to classification including geography. Suchinformation is preferably acquired, if at all, with due care to addressprivacy concerns. Based on such current status information, assetinsertion options may be identified (2230) for an upcoming programmingperiod of one or more programming channels. For instance, asset optionsmay be selected based on current network conditions. In one arrangement,an asset insertion schedule for a subsequent programming period may bedeveloped (2240) based on the current network conditions. By way ofexample, an asset flotilla for a subsequent break may be populated withassets based on current network conditions. Accordingly, the selectedassets may be inserted (2250) into the subsequent break.

Such a process may ensure that high value air time is populated withappropriate assets. For instance, where current network conditions mayindicate that an audience is larger than expected for a currentprogramming period, higher value assets may be utilized to populatebreaks. Such conditions may exist when, for example, programming withhigh asset delivery value and a large expected audience extends beyond apredetermined programming period into a subsequent programming periodwith low asset delivery value (e.g., a sporting event goes intoovertime). Previously, assets directed to the subsequent low valueprogramming period might be aired to the larger than expected viewingaudience based on their pre-scheduled delivery times resulting inreduced revenue opportunities. The present system allows for dynamic(e.g., just-in-time) asset scheduling or, at least, overridingpre-scheduled delivery based on changing network conditions.

D. Reporting

It would be possible to implement the targeted asset system of thepresent invention without receiving reports from CPEs indicating whichassets, from among the asset options, were delivered to the user(s).That is, although there would be considerable uncertainty as to whatassets were delivered to whom, assets could be priced based on what canbe inferred regarding current network conditions due to the votingprocess. Such pricing may be improved in certain respects in relation toratings or share-based pricing under the conventional asset deliveryparadigm. Alternatively, pricing may be based entirely on demographicrating information such as Nielsen data together with a record of assetinsertion to build an estimate of the number of users who received anasset. For example, this may work in connection with programmingchannels that have good rating information.

However, in connection with the CPE selection model of the presentinvention, it is desirable to obtain report information concerningactual delivery of assets. That is, because the asset selection occursat the CPE (in either a forward-and-store or synchronized transmissionarchitecture) improved certainty regarding the size and audienceclassification values for actual delivery of assets can be enhanced byway of a reporting process. As described below, the present inventionprovides an appropriate reporting process in this regard and provides amechanism for using such report information to enable billing based onguaranteed delivery and/or a goodness of fit of the actual audience tothe target audience. In addition to improving the quality of billinginformation and information available for analysis of asseteffectiveness and return on investment, this reporting informationprovides for near real time (in some reporting implementations) audiencemeasurement with a high degree of accuracy. In this regard, thereporting may be preferred over voting as a measurement tool becausereports provide a positive, after-the-fact indication of actual audiencesize. Accordingly, such information may allow for improved ratings andshare data. For example, such data may be licensed to networks orratings measurement entities.

FIG. 23A illustrates a reporting system 2300 in accordance with thepresent invention. The reporting system 2300 is operative to allow atleast some users of a participating user group, generally identified byreference numeral 2302, to report actual asset delivery. In theillustrated implementation, such report information is transmitted to anetwork platform such as a headend 2304. The report information may befurther processed by an operations center 2306 and a traffic and billingsystem 2308.

More specifically, report information is generated by individual CPEs2314 each of which includes a report processing module 2316, an assetselector module 2818 and a user monitoring module 2320. The usermonitoring module 2320 monitors inputs from a current user and analyzesthe inputs to determine putative audience classification parametervalues for the user. Thus, for example, module 2320 may analyze a clickstream from a remote control together with information useful formatching a pattern of that click stream to probable audienceclassification parameter values.

These classification parameters may then be used by the asset selectormodule 2318 to select an asset or asset sequence from available assetoptions. Thus, as described above, multiple asset sequences may beavailable on the programming channel and separate asset channels.Metadata disseminated with or in advance of these assets may identify atarget audience for the assets in terms of audience classificationparameter values. Accordingly, the module 2318 can select an asset fromthe available options for delivery to the user (s) by matching putativeaudience classification parameter values of the user to target audienceclassification parameter values of the asset options. Once anappropriate asset option has been identified, delivery is executed byswitching to the corresponding asset channel (or remaining on theprogramming channel) as appropriate.

The report processing module 2316 is operative to report to the headend2304 information regarding assets actually delivered and in someimplementations, certain audience classification parameter values of theuser (s) to whom the asset was delivered. Accordingly, in suchimplementations, the report processing module 2316 receives assetdelivery information from module 2318 and putative audienceclassification parameter information for the user (s) from the usermonitoring module 2320. This information is used to populate variousfields of a report file. In other implementations, audienceclassification information is not included in the report. However, itmay be presumed that the asset was delivered to a user or users matchingthe target parameters. Moreover, such a presumption may be supported bya goodness of fit parameter included in the report. Thus, audienceclassification information may be inferred even where the report isdevoid of sensitive information.

In a preferred implementation of the present invention, the reportingsystem 2300 may operate in a standard mode or an exposed mode. In thestandard mode, the transmitted report file 2312 is substantially free ofany sensitive information. Thus, for example, the file 2312 may identifythe assets actually delivered, on what channel and, optionally, goodnessof fit measures as described above. The file 2312 may also include anidentification code for the user at least in its header field. Thisidentification code and any other information that may be deemedsensitive from a privacy perspective may be deleted or hashed as anearly step in report processing. In the illustrated implementation, asanitizing module 2313 deletes or bashes such information before furtherprocessing at the headend 2304. Additionally, in the standard mode, thereport information may be anonymized and aggregated by module 2313 priorto further processing, for example, for purposes of publishing audiencesize and demographics or estimating the target universe for futurebroadcasts.

In the exposed mode, a report file 2310 may include more informationincluding sensitive information. For example, information such as name,age, gender, income and the like for a user may be included in the file2310. In this regard, various levels of exposed mode may be definedcorresponding to various levels of allowed potentially sensitiveinformation. This information may be useful, for example, for comparisonwith estimated values to monitor system performance and to diagnoseerrors. This information also allows for demonstration that targetingworks. It will be appreciated that operation in the exposed mode may belimited to a small number of users who have consented to inclusion ofpotentially sensitive information in report files. In this regard, theremay be individual control of participation in exposed mode operation(and at what level of exposed mode) at the CPE level.

The report files pass through the headend 2304 and are processed by anoperations center 2306. The operations center 2306 is operative toperform a number of functions including processing report informationfor submission to billing and diagnostic functions as noted above. Theoperations center 2306 then forwards the processed report information tothe traffic and billing system 2308. The traffic and billing system 2308uses the processed report information to provide measurement informationto asset providers with respect to delivered assets, to assignappropriate billing values for delivered assets, and to estimate thetarget universe in connection with developing new asset deliverycontracts.

In order to reduce the bandwidth requirements associated with reporting,a statistical reporting process may be implemented similar to thestatistical voting process described above. In particular, rather thanhaving all CPEs report delivery with respect to all breaks, it may bedesirable to obtain reports from a statistical sampling of the audience2302. For example, the CPE of each user may include a random numbergenerator to generate a number in connection with each reportingopportunity. Associated logic may be configured such that the CPE willonly transmit a report file when certain numbers are generated, e.g.,numbers ending with the digit “5”. Alternatively, the CPE may generatereports only upon interrogation by the headend 2304 or the headend 2304may be configured to interrogate only a sampling of the audience 2302.Such statistical reporting is graphically depicted in FIG. 23 whereusers selected to report with respect to a given reporting opportunityare associated with solid line links and deselected users are associatedwith a broken line links. Moreover, reporting may be batched such thatall reports for a time period, e.g., 24 hours or seven days, may becollected in a single report transmission. Such transmissions may betimed, for example, to coincide with low messaging traffic time periodsof the network. Also, the reports from different CPEs may be spread overtime as described below.

The reporting system 2300 may optionally be configured to implementasset skip functionality. In certain cases, it may be possible for usersto skip assets as by fast forwarding through the asset delivery timeperiod. In these cases, the asset provider suffers a diminution ofreturn on its investment. Specifically, as noted above, a programmingasset is provided at considerable cost. In the case of asset supportednetworks, this cost is subsidized in whole or in part by asset deliveryrevenues. That is, asset providers pay for the opportunity to delivercommercial impressions to users. In the context of the system of thepresent invention, the cost of these assets can be readily translatedinto a cost per consumer per asset. That is, because the number oftargeted impressions is known from the reporting information, and thecost per asset is known from the contact information, a cost per userper asset can be directly calculated. When a user skips an asset, thevalue to the asset provider is diminished by this amount.

In the illustrated system 2300, asset skipping events can be detectedand this information can be reported. The injured asset provider canthen be compensated for this diminution in value and/or the user can bebilled to compensate for such asset skipping. For example, in the latterregard, programming assets can be delivered at a discount to users whoagree to accept delivery of assets. In VOD or DVR contexts, other userscan skip those assets. This facilitates asset delivery support incertain contexts that have previously been limited, as a practicalmatter, to pay-per-view. For example, movies or near-term (e.g. nextday) re-runs of network programming provided via a forward-and-storearchitecture may be asset supported as asset providers will havereasonable assurance that their assets have been delivered.

In this regard, the illustrated system 2300 optionally includes an assetskip module 2322. The asset skip module 2322 is operative to identifyasset skip events (full or partial) and to report this information tothe network. For example, asset skip events may be identified based onmonitoring a click stream from a remote control or otherwise monitoringthe video stream delivered to the user. As shown in FIG. 23B,appropriate information may be included in this regard in a report file2311. For purposes of illustration, the file 2311 includes four types ofreport information 2311A-D. 2311A identifies the break or spot at issue.Field 2311B indicates the asset option that was selected by the CPE. Forexample, the selected asset may be identified by reference to anassociated asset channel. This information is useful to identify theinjured asset provider so that the asset provider may optionally becompensated for the asset skip. Field 2311C identifies certain audienceclassification parameter values for the user, which may be included, forexample, in exposed mode operation. Finally, field 2311D includes a skipflag to indicate whether or not the asset was skipped. This field 2311Dallows for compensating asset providers and appropriately billing usersin relation to asset skipping.

FIG. 24 illustrates the various network components of a reporting system2400, as well as their connection to other functional components of theoverall targeted billing system. The illustrated system includes aheadend controller 2402, an operations center 2404 and a T&B system2416. In conventional networks without targeted asset delivery, thetraffic and billing system generally serves a number of functions. Amongthese, a trafficking function involves order entry and assigning assetsto spots. In this regard, an asset delivery schedule is built such thatthe headend knows to insert a particular asset upon receiving anidentified cue. Another function relates to billing. When the headendinserts an asset, it generates an as run log. These as run logs are usedby the traffic and billing system to generate affidavits verifyingdelivery of the assets for purposes of billing. In the case ofconventional networks, this is a straightforward process because theheadend knows what was inserted and therefore what was delivered.Moreover, conventional networks do not directly measure delivery.

In the case of a targeted asset delivery system in accordance with thepresent invention, this is somewhat more complicated. Order entryinvolves audience aggregation, spot optimization and other concepts asdescribed herein. An interface for facilitating this process isdescribed in detail below. With regard to billing, it is desired toprovide the T&B system 2416 with information analogous to theconventional as run logs plus report information), but deliveryinformation originates from the CPEs. Moreover, knowledge of what assetwas delivered in connection with what programming channel generallyrequires: 1) a report from the CPE indicating what asset channel wasemployed for what spot; 2) what asset was inserted on that asset channelfor that spot; and 3) what programming channel that asset channel wasassociated with for that spot.

The illustrated headend controller 2402 generates as-run logs 2414 forall asset channels identifying the targeted assets that have beentransmitted via the asset channels. Thus, in step A of the illustratedsystem 2400, the as-run logs 2414 from the headend controller 2402 areprocessed by the operations center 2404. This processing provides anetwork based accounting for use by the T&B system 2416 of all targetedassets that were inserted by the asset server 2412 on the assetchannels. In step B, virtual channels are correlated to programmingchannels based on information from the targeted asset database 2406. Instep C of the illustrated system 2400, report information is processed.Specifically, an Asset Delivery Notification (ADN) 2410 including reportinformation is obtained in connection with each asset delivery by theCPEs or a representative sampling thereof. This information identifiesat least the spot or break and the asset or asset channel selected. Asnoted above, all digital set top boxes can be configured to eitherreturn or not return ADNs.

The as run logs 2414 together with the ADNs 2410 and targeted assetdatabase information provide a clear picture of what targeted assetswere played with respect to each programming channel and how manydigital set top boxes actually delivered the assets. This informationcan be used to generate affidavits 2420 verifying actual asset delivery.As discussed in more detail below, this enables a new asset deliveryparadigm involving a guaranteed delivery of targeted impressions.

FIG. 25 generally illustrates a customer premises side process 2500 forimplementing the reporting functionality. The illustrated process 2500is initiated by monitoring (2502) asset delivery. That is, the CPEmonitors the channels selected in connection with a given break forpurposes of reporting asset delivery. A determination is then made(2504) as to whether the CPE will operate in the standard mode or theexposed mode and, in the latter case, what level of exposed mode, e.g.,fully exposed or partially exposed. As noted above, exposed modeoperation will generally be limited to users who have specificallyassented to such operation. For operation in the standard mode, the CPEreports (2506) asset delivery and, perhaps, a goodness of fit measurefree from any sensitive information. In the exposed mode, the CPEdetermines (2508) a greater level of information for reporting to thenetwork. Such information may include sensitive information regardingthe user. In either case, the CPE may run (2510) a statistical reportingmodule so as to make a determination (2512) as to whether to generate areport. Such statistical reporting reduces the bandwidth requirementsassociated with reporting. If no report is to be generated, the systemreturns to monitoring (2502) asset delivery.

On the other hand, where a report is to be delivered, a report spreadingmodule may be run (2514). The report spreading module is operative toinsure that reports from all reporting CPE are not generated at the sametime. Thus, for example, the report spreading module may determine aparticular time delay in connection with reporting delivery for aparticular break. This time delay may be predefined and may be differentfor different CPEs. Alternatively, the delay may be variable and may bedetermined, for example, based on the output of a random numbergenerator. As a still further alternative, reports may be stored up fordelivery at a time of day (e.g., during the night) when bandwidth isexpected to be more available. In that case, different CPEs may stillreport at different times. Reports may be stored for a longer periodprior to transmission. Reports are then generated (2516) and transmittedas determined by the report spreading module. The system then continuesmonitoring (2502) asset delivery.

FIG. 26 illustrates a network side process 2600 in connection with thereporting functionality. The illustrated process 2600 is initiated byreceiving (2602) asset reports indicating actual asset delivery. Asnoted above, the reports may include an identification code and otherinformation deemed sensitive from a privacy perspective. Suchinformation may be deleted or hashed as an early step in reportprocessing. In addition, a determination is made (2604) whether thereports reflect standard mode or exposed mode operation. For example, afield may be included in the reports to identify exposed mode orstandard mode operation, or the content of the various reporting fieldsmay be analyzed to determine whether they reflect standard mode orexposed mode operation. In the case of standard mode reports, the reportinformation may be anonymized and aggregated prior to furtherprocessing. Exposed mode reports may be used to execute (2606) certaindiagnostics. For example, actual user identification informationincluded in the exposed mode report may be compared to putative audienceclassification parameter values (indicated by asset selection) toexamine the accuracy of the user identification logic. Alternatively, inthe exposed mode, the report may simply include an identifier that canbe used to access information regarding a user or household stored atthe headend. In the case of statistical reporting, both the standardmode and the exposed mode records may be used to determine (2608)audience parameters. As discussed above, in order to reduce bandwidthrequirements associated with reporting, less than all CPEs, for example,a statistical sampling thereof, may provide reports. Accordingly, astatistical model may be used to determine the audience size and thesize of various audience segments based on the report data.

Billing parameters and goodness of fit information may then bedetermined (2612) based on the report information. The billingparameters will generally include information regarding the size of theaudience to whom an asset was delivered. The goodness of fit informationrelates to how well the actual audience matched the target audience ofthe asset provider. In this regard, a premium may be extracted where thefit is good or a discount or credit may be applied, or over delivery maybe provided where the fit was not as good. Based on this information,the T&B system can then generate billing records (2614). It will beappreciated that such billing reflects guaranteed delivery of targetedimpressions with compensation for less than optimal delivery.

As noted above, a platform and associated graphical user interface maybe provided for receiving asset contract information. As will bedescribed in more detail below, asset providers can use this interfaceto specify targeting information such as geographic information,demographic information, run-time information, run frequencyinformation, run sequence information and other information that definesasset delivery constraints. Similarly, constraint information may beprovided from other sources. This contract information may also includecertain pricing information including pricing parameters related togoodness of fit. Moreover, in accordance with the present invention,report information can be utilized as described above for purposes oftraffic and billing. All of this requires a degree of integrationbetween the T&B system, which may be a conventional product developed inthe context of the conventional asset delivery paradigm, and thetargeted asset delivery system of the present invention, which allowsfor implementation of a novel asset delivery paradigm.

Among other things, this integration requires appropriate configurationof the T&B system, appropriate configuration of the targeted assetdelivery system, and a definition of an appropriate messaging protocoland messaging fields for transfer of information between the T&B systemand the targeted asset delivery system. With respect to the T&B system,the system may be configured to recognize new fields of traffic andbilling data related to targeted asset delivery. These fields may beassociated with: the use of reporting data, as contrasted to ratings orshare data, to determine billing values; the use of goodness of fitparameters to determine billing parameters; and the use of reportinformation in estimating the target universe for subsequent broadcasts.Accordingly, the T&B system is configured to recognize a variety offields in this regard and execute associated logic for calculatingbilling parameters in accordance with asset delivery contracts.

The targeted asset system receives a variety of asset contractinformation via a defined graphical user interface. This asset contractinformation may set various constraints related to the target audience,goodness of fit parameters and the like. In addition, the graphical userinterface may be operative to project, in substantially real time, anestimated target universe associated with the defined contractparameters. Consequently, integration of the targeted asset deliverysystem with the T&B system may involve configuring the targeted assetdelivery system such that inputs entered via the graphical userinterface are mapped to the appropriate fields recognized by thetargeted asset delivery system. In addition, such integration mayinvolve recognizing report information forwarded from the targeted assetdelivery system for use in estimating the target universe. Generally,the T&B system is modified to included logic in this regard for usingthe information from the targeted asset delivery system to project atarget universe as a function of various contract information entered bythe asset provider via graphical user interface.

In addition, the interface between the targeted asset system and the T&Bsystem may be expanded in relation to conventional interfaces toaccommodate the targeted asset delivery functionality as set forthabove. That is, because billing is based on a targeted impressions,additional asset delivery report information is required by the T&Bsystem to compute billing parameters. Similarly, information from thetargeted asset system is required to inform the T&B system in estimatinga target universe. Moreover, contract information defining targetingconstraints is passed from the T&B system to the targeted asset system.Accordingly, a variety of fields are defined for transmission betweenthe systems as described above. These fields are accommodated byexpanding the messaging interface between the systems. In addition, anappropriate messaging protocol is defined for accommodating thisexpanded messaging asset.

FIG. 27 illustrates a process 2700 for interfacing the systems in thisregard. The illustrated process 2700 is initiated by providing (2702) aT&B system. As noted above, the starting point for providing the T&Bsystem may involve using a conventional T&B system developed in thecontext of the conventional time-slot buy asset delivery paradigm.Fields and a format for receipt of report data may then be established(2704) and integrated into the T&B system. In addition, certain fieldsand formats may be provided for exporting information from the T&Bsystem to the targeted asset delivery system, for example, for use intargeting assets. In operation, contract information including targetingconstraints for particular assets is exported (2705) from the T&B systemto the targeted asset delivery system. Assets are delivered inaccordance with the constraints as described above. Delivery report datais then obtained (2706) by the T&B system. This report data may betransmitted from CPEs and processed by an operations center prior todelivery to the T&B system as described above. In addition, the T&Bsystem accesses (2708) contract information relating to a relevant assetdelivery contract. This information may specify certain billingparameters as a function of audience size and goodness of fitinformation. The T&B system is then operative to determine (2710)billing data based on the contract information and the report data andto generate (2712) appropriate bills.

IV. Exemplary System Implementations

The discussion above described a system for providing targeted assets ina broadcast network. In that discussion, there were a number ofreferences to providing targeted advertising in a cable televisionnetwork. In addition, references were made to implementing the targetedadvertising system using certain conventional components, withappropriate addition and modification, at the headend, the CPEs and T&Bplatforms. This represents an advantageous, though not limiting,application of the present invention. This section will describe thisapplication of the invention in further detail with examples of specificimplementation details.

It should be appreciated that the examples that follow are provided toillustrate specific implementations of the invention and are notintended to limit the scope of the invention. For example, theinvention, as noted above, is not limited to the cable televisionenvironment, nor to targeting of advertisements. In addition, thesystems described below make use of a variety of communications betweenCPEs and a network platform such as a headend. Specific communicationprocesses are described below for purposes of illustration involvingin-band and out-of-band pathways. It will be appreciated that suchcommunications may be accomplished by any available means using cablenetwork pathways or separate networks. Moreover, though the systemdescribed below involves specific voting and reporting processes bywhich ads are targeted by matching advertiser targeting constraints toaudience classification parameters and confirmation of delivery isobtained, it will be appreciated that certain aspects of the inventioncan be implemented without voting or reporting.

Additionally, targeting may be executed with respect to constraintsdetermined by a user, network operator, content provider or othersrather than by the advertiser. As an example in this regard, as notedabove, a user may define exclusions in an optional implementation, forexample, to protect children or other sensitive viewers from certaincontent. In the same manner, a user may define preferences in such anoptional implementation. However, the system is described below with anemphasis on advertising defined targeting constraints which represents acommercially significant application of the invention. Based on theforegoing, the following description should be understood by way ofillustration of specific implementations and not by limitation.

Turning now to FIG. 28, a block diagram of system 2800, which is used totarget ads for broadcast telecommunications networks, is presented. Itis noted that the illustrated system is a headend insertion system,though targeted advertisements may be inserted at the CPEs as will bediscussed below. The illustrated system 2800 includes a platform such asa headend 2803 that may receive audio and/or video content from a numberof sources, such as an ad source system 2801 and broadcast contentsources 2802 (e.g., of a television network program providers). Thesource system 2801 and sources 2802 may provide the audio and/or videocontent using digital communications, analog communications, orcombinations thereof. The illustrated system 2800 also receivescommunications from broadcast network users for use in targeting ads,providing selected broadcast content and reporting delivery as will bedescribed below. In this regard, each user of a cable-television networkmay have a CPE 2810 that allows the user to receive content, such astelevision programs and advertisements. A user's particular CPE 2810 mayestimate audience classification parameters of a current user or usersand compare those parameters to targeting constraints of an ad.Accordingly, each user's particular CPE 2810 may transmit a vote toheadend 2803 so that headend 2803 may configure the ads and/or broadcastcontent for delivery to the individual CPEs 2810 _(1 . . . N).

To assist in configuring the content for delivery to CPEs 2810_(1 . . . N), the illustrated headend 2803 includes content selectionprocessor 2805 and content synchronizer 2804. Content synchronizer 2804receives ads from asset server 2801 and broadcast content from broadcastcontent server 2902. For example, broadcast content sources 2802 mayprovide various types of audio and/or video content, such as televisionprograms. Ad source system 2801 may also provide types of audio and/orvideo content in the form of advertisements (e.g., commercials). Contentsynchronizer 2804 receives broadcast content from broadcast contentsources 2802 to selectively insert ads from ad source system 2801 intothe broadcast content. This may involve interleaving ad assets into theprogramming content stream and/or inserting ad assets into separatebandwidth such as dedicated ad channels. Ad assets may also betransmitted to the CPEs by other means. Content synchronizer 2804 maythen coordinate the combined content for delivery to CPEs 2810_(1 . . . N).

In one embodiment, CPEs 2810 _(1 . . . N) independently vote on the adsto be delivered as described above. For example, CPEs 2810 _(1 . . . N)may include set-top boxes (“STB”) configured for receiving cabletelevision inputs. In this regard, a cable television user mayselectively receive broadcast content by changing channels at theset-top box (e.g., each channel may be configured for conveying a uniquestream of video and audio content). At certain intervals (oftenpredetermined and defined with cues) in the broadcast content, ads maybe inserted by the headend (in headend insertion implementations) andconveyed to a customer via the set-top box. Specifically, logic residenton the CPE 2810 _(1 . . . N) may analyze user inputs and otherinformation as described above to estimate audience classificationparameters for the current user or users. These parameters are thencompared to targeting constraints associated with particular ads (whichmay be represented by an ad ID and associated targeting constraintinformation). Based on the comparison, votes including fit scores may betransmitted to the headend 2803.

In the illustrated embodiment, headend 2803 receives votes from a numberof CPEs 2810 _(1 . . . N) (from all participating CPEs or a samplingthereof) in communication therewith via network interface 2806. Networkinterface 2806 may transfer the votes to content selection processor2805 to aggregate the votes and make ad insertion selection with dueconsideration of available bandwidth. For example, the number of CPEs2810 and thus users may greatly exceed the available bandwidth such thatthe best fit ad (or another ad individually selected for the user)cannot be provided. Content selection processor 2805 receives the votesfrom CPEs 2810 _(1 . . . N) and tallies the votes by ad. A limitednumber of ads are provided based on the votes and other consideration.These ads are inserted into the available ad bandwidth (e.g., on theprogramming channel and/or ad channel(s)) and the CPEs 2810 _(1 . . . N)select from available ad options (if an), for example, based on audienceclassification information for the current users. CPEs 2810 _(1 . . . N)may continually transfer votes to headend 2803 such that contentselection processor 2805 and content synchronizer 2804 continue todeliver ads during programming channel breaks in the case of synchronousasset insertion implementations.

To deliver the targeted ads the system 2800 may operate essentially inthree modes: a first mode that involves insertion of a flotilla adoption at the headend 2803 coupled with delivery of the ads throughchannel switching at the CPE 2810 _(1 . . . N) (flotilla mode); a secondmode that involves delivery by interleaving the ads with programmingcontent at headend 2803 (interleaving mode); and a third mode thatincludes delivery by insertion of the ads at CPEs 2810 (CPE insertionmode). In the flotilla mode, content synchronizer 2804 transfers aflotilla to CPEs 2810 such that the CPEs choose ads therefrom andsubstantially seamlessly change channels to an ad (some ad options maybe provided on the programming channel) channel. In such an embodiment,CPEs 2810 may subsequently change to another ad channel or theprogramming channel. In the interleaving mode, content selectionprocessor 2805 may select an ad for delivery during a predetermined spotwithin a broadcast network break (e.g., a “commercial break” observablevia a cue in the broadcast network content). At that time, contentselection processor 2805 may direct content synchronizer 2804 tosynchronize the ad with the broadcast content. Content synchronizer 2804may insert the selected ad into the broadcast content stream. In thecase of the CPE insertion (or forward-and-store) mode, ads aretransferred to the CPEs 2810 _(1 . . . N) ahead of time (e.g., via an adchannel, another available channel or any other transfer mechanism) suchthat the CPEs 2810 _(1 . . . N) can insert ads stored therewith atpredetermined times, or upon detecting cues, within the broadcastnetwork content. For example, CPEs 2810 may be configured to receive andstore ads from content selection processor 2805. CPEs 2810 may thenretrieve selected ads and insert those ads into the broadcast content atappropriate times. Such an embodiment is disclosed in greater detailbelow in connection with FIG. 30.

Although discussed with respect to three alternative embodiments (e.g.,flotilla mode, interleaving mode and CPE insertion mode), those skilledin the art should readily recognize that the invention is not intendedto be limited to a particular embodiment. For example, contentsynchronizer 2804 may transfer a control message that directly controlsCPEs 2810 to either channel switch or insert. Additionally, system 2800may be configured to implement one or more of the above-mentionedembodiments. For example, while CPEs 2810 may be configured to retrieveads stored therewith and insert that content into a programming stream,headend 2803 may override such ad insertion and direct the CPEs toswitch channels to an ad channel.

Nor should the invention be limited to a particular group size. Forexample, content selection processor 2805 may direct ads to individualCPEs 2810 (e.g., a group of one). Additionally, the invention should notbe limited to a number of advertisers or broadcast content providers.Rather, broadcast network content and ads may typically be provided by anumber of content providers and asset providers.

FIG. 29A is an exemplary component-level block diagram of system 2800that targets content for broadcast networks. In this embodiment,broadcast content is obtained from a number of broadcast content sources2802. For example, the sources may include a number of analog broadcastcontent sources 2902 as well as digital broadcast content sources 2904.Some non-limiting examples of these broadcast content sources 2802include broadcast television networks that provide original and/orreplay television broadcast events (e.g., “reruns”) and broadcast radionetworks that provide audio content (e.g., talk shows, radio programs,etc.). Such content may be provided digitally by digital broadcastcontent sources 2904 _(1 . . . N) and/or via analog transmission fromanalog broadcast content sources 2904 _(1 . . . N). Headend 2803 (e.g.,including, among other things, content synchronizer 2804, contentselection processor 2805, and network interface 2806) may therebyreceive the broadcast content for which targeted ads are provided.

Headend 2803 receives the broadcast and/or analog content via networkinterface 2930. The illustrated network interface 2930 includes a numberof analog receivers 2903 _(1 . . . N) and/or digital receivers 2905_(1 . . . N). Analog receivers 2903 _(1 . . . N) may be communicativelycoupled to analog broadcast content sources 2902 _(1 . . . N) to receiveanalog broadcast content. Similarly, digital receivers 2905 _(1 . . . N)may be communicatively coupled to digital broadcast content providers2904 _(1 . . . N) to receive digital broadcast content. This content mayinclude certain ads as provided. Additional ads may be interleaved withthis content and still further ad options may be inserted in separate adchannels or other bandwidth.

In the case of interleaving mode operation and, perhaps, in the case offlotilla mode operation, ads are interleaved with programming in theprogramming channel content stream. The ad source 2901 stores ads to beinterleaved with the broadcast content received via network interface2930 or inserted into ad channels or other bandwidth. For example, inthe case of interleaving, analog broadcast content may be received andstored on headend server 2907. Ad server 2901 may be communicativelycoupled to the headend server 2907 such that the headend server 2907 maycontrol insertion of the ads at predetermined times within the analogbroadcast content. That is, server 2907 receives the analog programmingfrom sources 2902 _(1 . . . N), ads from ad source system 2801 andinsertion information from content selection processor 2805. Upondetecting a tone in the programming content stream, server inserts an adinto the stream based on the insertion information.

Still in reference to ad interleaving, headend server 2907 may beconfigured for managing analog and/or digital data. For example, adserver 2901 may provide analog and/or digital ads to the content server2907. Preferably, server 2907 configures received content (i.e., ads andbroadcast network content) in a digital format. In this regard, theserver 2907 may be associated additional components such as ananalog-to-digital converter (“ADC”) to convert received analog contentand storage to store the received content. Thereafter, the converteddigital ads may be readily inserted into digital broadcast networkcontent using, for example, ad splicer 2915. For example, ad splicer2915 may interleave digital ad content with the digital broadcastnetwork content to construct an MPEG transport stream containing thecombined digital content. Once the combined digital content is formed byad splicer 2915, the data thereof may be digitally transferred to QAMmodulator/upconverter 2916 to prepare (e.g., convert to radio frequency,or “RF”) the data for conveyance CPEs 2810.

Additionally, combined content (i.e., ads and broadcast network content)may be transferred in the analog domain for ultimate conveyance to CPEs2810. For example, headend server 2907 may receive ads and analogcontent and transfer the ads to ad splicer 2915 for ad insertion. Thus,content (i.e., ads and/or broadcast network content) received by headendserver 2907 may be in a digital format and/or an analog format. Theserver 2907 may convert any analog content to digital and convey thebroadcast network content and the ads to ad splicer 2915 for insertionof the ads within the broadcast network content. Upon insertion of theads within the broadcast network content, ad splicer 2915 may transferthe combined content to server 2907 such that the combined content maybe converted back to an analog format (i.e., a continuous waveform).Such may be useful in cable headends having analog networks. Transfer ofthis content from ads to splicer 2915 to headend server 2907 may beperformed using one or more of the Society of Cable Television Engineers(“SCTE”) standards. These standards are known to those skilled in theart.

In this regard, the analog combined content may then be transferred toVertical Blanking Interval (“VBI”) encoders 2910 _(1 . . . N) forinsertion of data. For example, a VBI is generally an interval in asignal (e.g., television video signal or other video display unitsignal) that temporarily suspends transmission of the signal. Thistemporarily suspended transmission may allow time for an electron gun ofa television or another video display unit to move and trace a nextscreen field. The VBIs may be used to carry data because data sentduring a VBI would not be displayed. Examples of such data include testsignals, time codes, closed captioning, teletext, Copy GenerationManagement System (“CGMS-A”) copy-protection indicators, content ratingsfor V-chip use, and other data which can be sent during this timeperiod. As such, headend server 2907 may transfer analog video of thecombined content to VBI encoders 2910 _(1 . . . N) such that the VBIencoders may insert data during intervals in which no analog videocontent is transferred. Additionally, the VBIs may be used to transfercontrol signals to CPEs 2810 _(1 . . . N) (e.g., to direct the CPEs tochange channels, as described hereinabove). However, as noted above, anyavailable transmission mechanisms via the cable television networks orother networks may be used for unidirectional communications between theCPEs 2810 and the server 2907.

Similar processing is employed in the case of flotilla mode and CPEinsertion mode operation. That is, the headend server 2907 stillreceives ads from the ad source system 2801 and instructions fromcontent selection processor 2805. In the case of flotilla modeoperation, the instructions indicate what ads should be included onwhich ad channels (and, perhaps, indicate that an advertisement shouldbe placed on the programming channel) during which breaks and spots. Theserver 2904 is then operative to direct insertion of the ads asdescribed above. In the case of CPE insertion, ads may be transmitted tothe CPEs 2810 via ad channels, off-air programming channels or otheravailable bandwidth. In this regard, the server 2907 may directinsertion as described above, except such insertion generally will notbe synchronized with any programming channel break. Accordingly,insertion generally will not be in response to a cue. Moreover, there isgenerally not a real time component to such transmission. So ads may betransmitted asynchronously, e.g., in data packets, and transmission of,for example, a thirty-second ad may take less or considerably more thanthirty seconds as bandwidth allows. In any case, the combined content(i.e., the broadcast content and ads) or ad content is transferred toindividual CPEs 2810 via network interface 2806. For example, networkinterface 2806 may include modulator/upconverters 2911 _(1 . . . N) thatreceive analog video input streams from VBI encoders 2910 _(1 . . . N).Modulator/upconverters 2911 _(1 . . . N) respectively convert thoseanalog streams to the RF to form individual RF “channels”.Modulator/upconverters 2911 _(1 . . . N) also receive the analog audiocontent from headend server 2907 to be included with the analog videocontent. The combined RF channels are then transferred to combiner 2912for multiplexing into an RF television signal.

With regard again to the digital ad insertion, ad splicer 2915 mayreceive digital broadcast content from digital receivers 2905_(1 . . . N) and directly interleave digital ads with the digitalbroadcast network content. Accordingly, when the ad-interleaved digitalbroadcast network content is decoded and converted to analog for displaywith a television, the ads may display at predetermined times within thebroadcast content.

Additionally, content synchronizer 2804 may include black generator 2917for providing “black” content during ad insertion opportunities on adchannels or programming channels. For example, at periods in broadcastcontent intended for ad insertion, black generator 2917 may providecontent that displays as black segments when displayed. This isnecessary to provide a content stream into which the ads may beinserted. Additionally, the black content is useful because, among otherreasons, ads may be configured with durations that may not necessarilycorrespond to exact durations of predetermined time intervals in thebroadcast content. The black content may thus provide a blank canvas forthe ad to be inserted allowing for ads to be “framed” by black contentduring commercial breaks.

As mentioned, ad splicer 2915 transfers the interleaved digital contentto QAM modulator/upconverter 2916 for conversion to RF. For example, QAMmodulator/upconverter 2916 may receive interleaved digital data (i.e.,digital ads interleaved with digital broadcast content) ornon-interleaved digital data. QAM modulator/up-converter 2916 maymodulate the data onto one or more RF carriers using quadratureamplitude modulation (“QAM”) techniques to generate RF channels. QAMmodulator/upconverter 2916 may transfer the RF channels to combiner 2912such that the RF channels may be multiplexed into an RF televisionsignal.

Generally, cable systems in North America operate with 6 MHz channelbands (with different standards in Europe and elsewhere), each channelhaving a QAM signal conveying between 3 and 16 digital video datastreams with their associated audio and data streams (e.g., televisionchannels). As such, combiner 2912 may combine the signals into a singleRF television signal. One example of such an RF television signal mayinclude a Frequency Division Multiplexed (“FDM”) signal that isdelivered to a cable system (e.g., cable plant 2918) viacombiner/diplexer 2919. However, other forms of signaling/multiplexingmay be incorporated to transfer a plurality of digital data streams to acable system. One example of such may include time division multiplexing(“TDM”).

With the analog or digital/interleaved or non-interleaved content formedinto an RF television signal, combiner 2912 may transfer the RFtelevision signal to combiner/diplexer 2919 such that the RF televisionsignal may be split into multiple RF television signals (e.g.,typically, with each conveying the same information) for transfer to oneor more cable plants 2918. For example, the network may interface with aplurality of cable plants, such as cable plant 2918, to deliver the RFtelevision signal to a plurality of associated locales (e.g.,communities). Combiner/diplexer 2919 may split a received televisionsignal to correspond to the number of cable plants interfacing withnetwork. Each cable plant 2918 may, in turn, transfer the RF televisionsignal to CPEs 2810 _(1 . . . N) such that each CPE may select a channelfrom the RF television signal for observation (e.g., viewing and/orlistening).

To assist in determining which ads are synchronized with broadcastcontent, in the case of synchronous flotilla mode or interleaving modeoperation, system 2800 includes content selection processor 2805 asdescribed in FIG. 28. Content selection processor 2805 includesoperations center and headend controller 2914, which directs operationsof the content selection processor 2805. For example, operations center2914 may interface with optional router 2909 to direct contentsynchronizer 2804 to synchronize ads with broadcast content. Forexample, router 2909 may be provided to limit access to other headendsystems by content selection processor 2805. Generally, operationscenter 2914 requires network schedules from broadcast network contentproviders 2904, as well as ad contract information from traffic/billing2908. These network schedules may be transferred with a file transferprotocol (“FTP”) from either traffic/billing 2908 or ad server 2901.This transfer may be automated to occur at the same time that networkschedules are distributed from traffic/billing 2908.

Additionally, content selection processor 2805 may interface with CPEs2810 to receive votes from the CPEs, ad delivery reports from the CPEsand/or convey information to the CPEs such that the CPEs may insert ads.For example, CPEs 2810 may generate votes based on the channelselections, volume control inputs and other click stream information oftheir respective users. These votes may be transferred to contentselection processor 2805. As discussed above, participating CPEs (or atleast a sampling thereof) may also provide report informationidentifying at least the ads or ad channels selected for a particularbreak. Content selection processor 2805 may, in turn, aggregate reportinformation and provide the information to traffic/billing 2908, e.g.,for use in certifying to advertisers delivery of targeted impressions orestimating the target universe in connection with ad campaigns underconsideration. In the case of CPE insertion, content selection processor2805 may also transfer ads to the CPEs such that the CPEs may select adsfor display to their respective users.

It will thus be appreciated that communications between the CPEs 2810aid the operations center 2914 may be employed for a variety of purposesand, as noted above, such communications may be via the cable televisionnetwork (involving in-band and out-of-band pathways) or any other means.For purposes of illustrations, certain cable television network pathwaysare discussed below. With regard to upstream communications, CPEs 2810may transfer messages to their associated cable plant 2918. Cable plant2918 may forward the messages to network interface 2806 as individual RFsignals. The RF signals may be received by network interface 2806 viacombiner/diplexer 2919 such that they may be transferred upstream tocontent selection processor 2805. In this regard, network interface 2806may convert the RF signals to processable data via upstream out-of-banddemodulator 2926. For example, upstream out-of-band demodulator 2926 mayreceive the modulated RF signal to demodulate the signal and extractdata (e.g., votes or report information) therefrom. The data may then betransferred to network controller 2923 using common data transfertechniques. Operations center 2914 may access the stored votes, reportsand other CPE information on an “as needed” basis, for example, todetermine appropriate ads to be delivered or provide report informationto traffic/billing 2908.

Generally, “out-of-band” refers to data transmitted outside a typicalpath used by primary communications (e.g., the RF television signal). Assuch, “in-band” generally refers to the path used by the primarycommunications such as the RF television signal. In this regard, in-bandpaths are generally used only for downstream messages whereasout-of-band paths may be used bi-directionally. In some networks, e.g.,satellite television networks, only in-band paths may be available andupstream communications may require use of separate communicationsnetworks. However, upstream communications may optionally utilizeout-of-band paths in the illustrated cable television network. Anexample of upstream out-of-band demodulator 2926 may include the RPD2000 by Motorola, Inc. In this regard, network interface 2806 maycommunicate to CPEs 2810 via upstream and downstream out-of-bandsignaling while the CPEs 2810 are receiving the RF television signalthat includes the broadcast network content on a separate in-band path.For example, CPEs 2810 may use out-of-band signaling to communicate dataon a separate in fixed radio frequency. The invention, however, is notintended to be limited to components that simply perform either in-bandor out-of-band communications. For example, such features may becombined into a single component, such as the DVB Interactive NetworkAdapter INA2320 by Cisco Systems Inc. In one embodiment, the out-of-bandcommunications are performed using Internet Protocol (“IP”) and/or theData Over Cable Service Interface Specification (DOCSIS).

As noted above, CPEs 2810 may switch to ad channels to deliver ads. Toassist CPEs 2810 in implementing the channel changes, operations center2914 may transmit an ad option list for one or more upcoming breakstogether with targeting information, and may subsequently transfer adoption lists and other messages to network controller 2923. For example,operations center 2914 may access vote information from carousel system2922 and select ads to be delivered to CPEs 2810. Operations center 2914may, in turn, direct the network controller 2923 to notify CPEs 2810 ofad delivery. In this regard, network controller 2923 may format messagesthat include delivery information of the ads. That is, the messages mayinclude channel locations of ads that may be selected for delivery byindividual CPEs 2810. In certain implementations where controlinformation is directed to specific CPEs (e.g., sending marketing labelsor location information, or controlling CPE insertion from the headend),the message may also include information pertaining to individual CPEs2810 (e.g., serial numbers, STB card numbers, and/or other identifiers).

The formatted messages may be transferred to CPEs 2810 via networkinterface 2806. Network interface 2806 may receive the messages viadownstream out-of-band modulator 2925 to format and transfer themessages as an RF signal for use by CPEs 2810. In this regard,out-of-band modulator 2925 may modulate the messages (i.e., datathereof) onto an RF signal. An example of out-of-band modulator includes2925 the OM-1000 MPEG2/Digital Out-Of-Band Modulator by Motorola, Inc.

The modulated RF signal conveying the out-of-band information may thenbe transferred to combiner/diplexer 2919 such that the RF signal may betransferred along with the RF television signal (i.e., conveying thein-band information) from combiner 2912. The signals may then be splitby combiner/diplexer 2919 based on the number of cable plants 2918associated with system 2800. Each cable plant 2918 may then transfer itsRF signals to CPEs 2810. Based on the out-of-band information includedin the RF signals, CPEs 2810 may switch to ad channels or insert adsinto broadcast network content (i.e., ads as voted on by the CPEs).

The various types of signaling shown and described herein (e.g., in-bandsignaling and out-of-band signaling) are not intended to be limiting.Often, such signaling techniques may be implemented in a variety ofways. Additionally, the invention should not be limited to RF cablecommunications as other forms of communication may be used for addelivery. For example, system 2800 may be implemented with a hybridfiber/cable network where ads and/or broadcast network content aredelivered in a combination of RF and optical digital data techniques.Yet, other embodiments may include ad insertion being performed throughmainly RF networks, such as terrestrial and/or satellite radio.

In the case of CPE insertion mode operation, ads may be downloaded tothe individual CPEs 2810 via out-of-band paths. For example, CPEs 2810may include storage units, such as hard disk drives in digital videorecorders (“DVRs”). These storage units may be used to store ads forlater viewing. As such, the out-of-band information transferred in theRF signal may be used to direct individual CPEs 2810 to retrieve certainads during predetermined intervals of the broadcast content for displayto the viewer. For example, during a break in the broadcast content, theout-of-band information may request that an individual CPE 2810 retrieveads meeting advertiser delivery constraints from the storage unit anddisplay that ad with the user's television. The headend may directselection of particular ads or the CPE may select ads, for example, bymatching audience classification parameters of a current user totargeting constraints of an ad. In such cases, voting may not beemployed, though voting may still be used to select ads transmitted tothe CPEs. Similarly, in certain contexts within flotilla mode operation(for example, spot optimization implementations where an advertiserbrings a spot but provides multiple ad options for the spot), voting maybe unnecessary, though voting may be employed to select the ad optionsin case of limited bandwidth for the options.

Other components of content selection processor 2805 includetraffic/billing 2908 and data center 2920. Traffic/billing 2908 may beconfigured to receive ad contract information including targetingconstraints and to collect information about the ads that were deliveredby CPEs 2810. For example, CPEs 2810 may provide reports regarding addelivery. As those reports are collected, traffic/billing 2908 mayaccumulate a count of targeted impressions, or actual deliveries, ofthose ads such that the provider of such ads may be billed based on anaccurate number of individual impressions. This information may also beused for network measurement (ratings-like data) as well as to estimatethe target universe with respect to ad campaigns under development. Inthis regard, traffic/billing 2908 may be communicatively coupled tocontent server 2907 to collect information about insertion of ads fromad server 2901. Operations center 2914 may provide operational controlof traffic/billing 2908 such that operational protocols are not breached(e.g., to ensure that traffic and billing are not fraudulentlymanipulated and/or to ensure that information entered throughtraffic/billing 2908 is not compromised). Examples of traffic andbilling interfacing are shown and described below in FIGS. 36A, 36B and37.

Data center 2920 may be configured for collecting data pertaining toCPEs 2810 as may be desired in certain implementations, e.g., involvingmarketing labels. Data center 2920 may be an optional feature of system2800 that stores information regarding users of CPEs 2810. For example,as CPEs 2810 cast votes for certain ads, operations center 2914 maydetermine various putative attributes of a user or an aggregated groupof audience members users (e.g., age, income levels, etc.). Theseattributes may be stored with data center 2920 for use as a byproduct ofsystem 2800. That is, system 2800 can be configured for selectivelydelivering ads with broadcast content or controlling or influencing CPEinsertion. Information derived about users of CPEs 2810 mayadvantageously provide information about audiences of delivered contentto advertisers and/or broadcast content providers. In one embodiment,data center 2920 may store attributes of individual users.

In addition to data center 2920, system 2800 may optionally includedemographic database 2921. Demographic database 2921 may be configuredto receive demographic information from sources external to system 2800.For example, survey takers may compile demographic information of peoplein a particular region. Also, census information, financial information,magazine subscriptions and other information may be available from avariety of sources. This compiled demographic information may betransferred to demographic database 2921 to request delivery of ads tousers of CPEs 2810 in lieu of, or in conjunction with, vote casting byCPEs 2810.

Although one embodiment has been shown and described herein, thoseskilled in the art should readily recognize that the invention is notintended to be limited to the illustrated components. Rather, certaincomponents may be modified and/or combined to have essentially the samefunctionality as the larger system 2800 described herein. An example ofsuch an embodiment is shown and described below in FIG. 29B.

FIG. 29B is an exemplary alternative component-level block diagram ofsystem 2800 of FIG. 28 that targets content for broadcast networks. Inthis embodiment, content selection processor 2805 is configured toprovide Internet Protocol (IP) distributed communications. For example,triggers sent via out-of-band signaling may be transferred via IPcommunications through carousel server 2953 because, among otherreasons, certain CPEs 2810 are not configured to process triggers. Anexample of such a CPE 2810 includes the DCT-2000 by Motorola Inc.Operations center and headend controller 2914 may provide theout-of-band triggers via a carousel format, which is subsequently sentto carousel server 2953 for distribution.

Also included in this embodiment is a Digital Addressable Controller,such as model DAC-6000 by Motorola, Inc. DAC 2951 includes componentsthat provide the security and control for flexible digital systems.Additionally, DAC 2951 provides support for addressable controlfunctions including Internet Pay-Per-View (“IPPV”), Call Ahead PPV,subscriptions and interactive applications. DAC 2951 may also interactwith traffic/billing 2908 to generate reports used in facilitatingsystem management.

System 2800 may also include a network controller 2954 such as the NCI500. Controller 2954 may function as a hybrid fiber coax (HFC) networkcontroller that enables interactive applications with DCT2000 terminals.Controller 2954 may allow for interactive sessions between applicationservers and DCT2000 terminals by translating IP to deliver data packetsthrough an out-of-band data channel. The return path serves as theupstream data path where Controller 2954 aggregates demodulated databursts and routes the data to the appropriate server. As such, NC15002954 may be communicatively coupled to a Return Path Demodulator 2957such as model RPD-2000 2957 by Motorola Inc.

RPD-2000 2957 provides an upstream link for communications with CPEs2810 such as DCT 2000 terminals. Typically, such terminals provide datasuch as PPV purchase data, Video On Demand (“VOD”) purchase data, andstatus monitoring data. RPD 2957 may receive the data using burstdemodulator modules configured therewith. RPD 2957 may demodulate,provide forward error correction, and multiplex the data into a singledata packet that may be transferred to operations center 2914 viaEthernet.

With respect to downstream data, system 2800 may employ an out-of-bandmultiplexer/modulator 2956 such as model OM-1000 2956 by Motorola Corp.OOB MUX 2956 provides an out-of-band data stream to CPEs 2810. This datastream may be primarily used as a signaling channel, but may alsoprovide for the transmission of program guide information, codedownloads, Infrared codes, application information, and/or ads.Moreover, OOB MUX 2956 may be utilized as a downstream path in aninteractive system.

The input to OOB MUX 2956 may be configured with Ethernet and/or serialinputs. OOB MUX 2956 may include a Quadrature Phase Shift Key (QPSK)modulator that modulates data on a 1.5 MHz wide carrier, and OOB MUX2956 may operate within a 71-129 MHz frequency band. Transmitted datapackets are typically composed of data that can be multiplexed either inthe OOB MUX 2956 or externally. RPD 2957 and OOB MUX 2956 may becommunicatively coupled to DAC 2951.

Thus, FIGS. 29A and 29B depicted a system adapted for flotilla mode orinterleaved mode operation. In either case, insertion occurs at theheadend. As noted above, insertion can also be implemented at the CPE2810. FIG. 30 is a block diagram of system 3000 where CPEs 2810 selectads (e.g., from ad source system 2801) for insertion to broadcast orother content (e.g., from broadcast content provider 2802 at the CPE2810). CPE 2810 may be configured for receiving a plurality of cablechannels carrying content. The content is transferred from contentsources 2801 to headend 3004 for delivery to CPE 2810. The content hasintervals in which ads may be inserted. In this embodiment, system 3000incorporates functionality of content selection processing and contentsynchronization, such as that respectively performed by contentselection processor 2805 and content synchronizer 2804 of FIG. 28, atCPE 2810. As such, CPE 2810 may insert ads into content during breaks inthe content.

More specifically, CPE 2810 may be configured with content selectionprocessor 3002 to determine which ads should be inserted into receivedcontent. For example, CPE 2810 may cast votes for ads as describedhereinabove. That is, CPEs may vote as to what ads should be transmittedfrom the headend 3004, for example, to reduce the number of adstransmitted while optimally targeting users. Instead of selecting adsfor transmission to the CPEs 2810 based on voting, the headend maysimply cycle through the available inventory of ads for transmission,where the rate at which ads are transmitted is a function of theavailable bandwidth or other constraints. It will be appreciated thatsuch implementations without voting are particularly apt for systemswithout an upstream out-of-band pathway, such as certain satellitetelevision implementations. Alternately, the audience classificationinformation for the user, instead of being used for voting, may be usedto select ads for storage and to select ads for insertion. That is, theaudience classification information may be compared to targetingconstraints such that only ads of potential interest are stored at thestorage element 3001. Current audience classification information isthen used, together with ad delivery constraints, to select ads forinsertion at an insertion opportunity. With the ads retrieved, contentsynchronizer 3003 may insert those segments into broadcast content atcertain intervals (e.g., commercial breaks). For example, contentsynchronizer 3003 may be communicatively coupled to network interface3006 to receive broadcast content from network 3004. Contentsynchronizer 3003 may synchronize broadcast content intervals with adsretrieved by content selection processor 3002. An example of a devicethat may be configured to perform functionality of content selectionprocessor 3002 and/or content synchronizer 3003 includes the BCM 3560digital TV System-On-Chip by Broadcom Corp. In addition to performingsuch functionality, the BCM-3520 may perform out-of-band signaling.

Ads may be delivered to CPE 2810 and stored with storage element 3001using out-of-band signaling techniques as described hereinabove. Inaddition, the ad content may be transmitted from headend 3004 via adchannels, programming channels or VOD channels that areopportunistically available, or other bandwidth ahead of time. Forexample, an ad server, such as ad source 2901, may store ads fromadvertisers. These ads may be transferred via network interface 3006 toCPE 2810 for storage with storage element 3001 using, e.g., in-bandbandwidth as noted above or an out-of-band data network and downstreamout-of-band modulator, such as out-of-band data network 2924 anddownstream out-of-band modulator 2925 of FIG. 29A. Ads may then becombined with (e.g., interleaved with) the broadcast content at the CPE2810. Content selection processor 3002 may extract ads from the contentthus transmitted and store those ads with storage element 3001 for laterviewing as determined by the content selection processor 3002. Theinvention, however, is not intended to be limited to out-of-bandsignaling or in-band signaling for ad delivery as described above. Forexample, other forms of ad delivery may include multiple tuners (e.g., afirst tuner receiving broadcast network content any second tunerreceiving ad content).

Also shown in this embodiment is content processor 3005 configured onheadend 3004. Content processor 3005 may be configured to receivebroadcast content from broadcast content provider 2802 to providevarious features of a communications network, such as digital splicing,etc. Examples of components providing such features are shown anddescribed in headend server 2907, ad splicer 2915, each of FIG. 29A.Upon processing, content processor 3005 may transfer the broadcastcontent to network interface 3006 such that the content may be deliveredto CPE 2810.

Although shown and described with respect to a single broadcast contentsource 2802, those skilled in the art should readily recognize thatbroadcast content source 2802 may represent a number of broadcastcontent sources, such as those shown in FIG. 29A, transferring analogand/or digital content to network 3004. Similarly, ad source system 2801may be representative of ads provided by a number of advertisers (e.g.,analog and/or digital segments) to an ad source, such as ad source 2901of FIG. 29A.

Additionally, system 3000 describes a single CPE 2810. The invention,however, is not intended to be limited to a single CPE. Rather, networkinterface 3006 may be communicatively coupled to one or more cableplants, such as cable plant 2918 of FIG. 29A. Each cable plant may, inturn, communicatively couple to a plurality of CPEs 2810 within aparticular locale. As such, network interface 3006 may deliver broadcastcontent and ads to many (e.g., hundreds of thousands) of CPEs and theseCPEs may include many different models from various manufacturers withdifferent capabilities.

In one embodiment, audience aggregation and spot optimization may beperformed even though individual CPEs 2810 may retrieve ads from storageelement 3001 configured therewith. With regard to spot optimization, itwill be appreciated that different CPEs delivering the same programmingcontent may insert different ads at a given break based on the operationof the content selection processor 3002 as described above. Similarly,with regard to audience aggregation, different CPEs delivering differingprogramming content may delivery the same ad or ads during a deliverywindow. Furthermore, content selection processor 3002 may optionallycommunicate with the content selection processors of other CPEs. TheCPEs may be configured to voluntarily share information with one anotheras directed by a user. As such, the CPEs may transfer information to oneanother regarding preferred information of content segments choicesand/or broadcast content choices. This information may be conveyed tonetwork 3004 via out-of-band signaling techniques as describedhereinabove such that preferred content may be delivered to those CPEs.

CPE insertion is not limited to inserting ads into real-time regularprogramming transmissions. In this regard, CPE insertion may be used toinsert ads into VOD content, podcasts, time-shifted programming or otherprogramming transmissions. In the case of VOD content or podcasts, forexample, a programming server platform may be operative to forward admetadata including targeting constraints (including target audienceclassification information and other constraints) together with or inadvance of the programming content. This metadata can then be used bycontent selection processor 3002 as described above.

In the case of time-shifted content, broadcast or other content may bereceived from the headend 3004 and stored at the CPE 2810 (for example,including a DVR) for later playback. For example, prime-time broadcastprogramming may be viewed the following morning if a user so desires. Atthe time of viewing, content selection processor 3002 is operative toinsert ads based on targeting constraints to, including not onlymatching targeting constraints to current audience classificationparameters, but also matching targeting constraints to the current time.Thus, for example, the user viewing prime-time programming in themorning may receive a breakfast-oriented commercial whereas thatcommercial would probably not have been selected by the CPE duringprime-time. In such cases, apportionment of revenues for such addelivery as between network operators and content providers may benegotiated.

It is noted that the network configuration of FIGS. 29A and 29B, on theone hand, and FIG. 30, on the other, are not exclusive. Thus, asdescribed above, a network including a particular CPE may implement anyof flotilla insertion, headend interleaving and CPE insertion indifferent instances. For example, while delivering real-timeprogramming, flotilla insertion and/or headend interleaving may be usedto deliver ads during given breaks. Later, during VOD or time-shiftedcontent delivery, CPE insertion may be used to deliver ads at the sameCPE. For example, selection between these delivery modes may be made atthe headend or at the CPE based on, for example, the source of thecontent (e.g., real-time headend feed or from DVR storage) orheadend/CPE messaging.

FIG. 31 is a flowchart of exemplary targeted content process 3100applicable to the various ad delivery modes. Process 3100 may begin whenbroadcast network content is delivered to CPEs, such as CPEs 2810 ofFIG. 28. For example, a broadcast network (e.g., cable television,satellite television, and/or satellite radio) interfacing with CPEs maydeliver broadcast content to CPEs. As the CPEs receive the broadcastnetwork content, they may begin collecting information regardingselections of the broadcast network content. Based on the selections,the CPEs may estimate audience classification information for thecurrent user(s). In response to an ad list received from the headend,this classification information may be compared to targeting informationto generate (3101) votes for ads. The votes may be transferred (3102)from the CPEs to the broadcast network. Alternatively, in the context ofCPE insertion, the audience classification information may be usedinternally by the CPEs to select ads for storage and retrieve ads storedtherewith for delivery.

The audience classification information or other information related tovoting may be used to select (3103) ads for delivery. For example, thevote information may include information regarding a level ofsuitability to receive certain ads or a fit score. The ads with high fitscores may be delivered by the CPEs. Broadcast network content may besynchronized with ads to generate (3104) combined content. For example,the broadcast network content may include intervals in which ads may beinserted. During these times and based on the votes, the broadcastnetwork may interleave ads into the broadcast network content fordelivery to the CPEs as combined content. Alternatively, the ads may beinserted into ad channels or inserted by CPEs as described above.

In the case of flotilla mode operation, flotilla information for aflotilla of ads may be transferred to the CPEs, as described hereinabove(e.g., via out-of-band signaling, in band signaling, multiple tuners,etc.). Such flotilla information may describe the structure of theflotilla and locations (e.g., ad channels) of individual ads. Theflotilla information may be used by the CPEs to switch channels to an adchannel conveying a suitable ad during the time interval of thebroadcast content. In the case of CPE insertion, the ads are transferredto the CPEs and stored therewith for delivery during the intervals. Forexample, during predetermined intervals of the broadcast networkcontent, the CPEs may retrieve stored ads and insert those segments intothe intervals of the broadcast network content. In the case of headendinterleaving, the ads are inserted into the programming channel at theheadend (e.g., as determined by processed votes from the CPEs). In eachof these embodiments, combined content is disseminated (3105) from thebroadcast networks to the users of the CPEs. That is, the CPEs willultimately deliver the combined information to the users.

In addition to determining the suitability of ads, the illustratedprocess 3100 involves determination of cost allocations for deliveredads. For example, the headend may receive (3106) reports from CPEs toindicate delivery of ads. From those reports, a number of broadcastnetwork users who receive the ads may be determined (3107). Because theads are targeted, it may be assumed (or verified, based on exposed modereports) that these ads were delivered to users matching the audienceclassification parameters of the targeting information. Alternatively,goodness of fit information from the reports (if available) may be usedto estimate how well the actual audience matched the target audience.The value of delivered ads may then be calculated (3108) based on thereports. For example, each ad may have a predetermined value associatedwith a single delivery. By multiplying the number of targeted deliveriestimes the value associated with a particular ad, an overall value forthe ad may be computed.

FIG. 32 is a block diagram of exemplary audience grouping system 3200.That is, the diagram illustrates how audience grouping may result fromoperation of the systems as described above. In this embodiment, contentselection processor 3202 receives votes from CPEs 2810 that indicatesuitable ads from a collection of ads 3201-1 . . . N, where N is aninteger greater than 1. For example, CPEs 2810 may be communicativelycoupled to a broadcast network, such as a cable television network, toreceive broadcast network content. Users of CPEs 2810 may vote for adsand then delivery suitable ads. As a result, groups of CPEs may show thesame ad during a given break or during different breaks (e.g., ofdifferent programming channels) within a time window (audienceaggregation).

System 3200 illustrates how CPE 2810 users may thus be grouped. Forexample, CPEs 2810-1 may determine, based on estimated audienceclassification parameters, to deliver ad 3203-1. Similarly, CPEs 2810-2may deliver ad 3203-2, and so on. Accordingly, CPEs are grouped withrespect to ad selection. In this manner, audience segments are groupedbased on audience classification or the like rather than on theircurrent programming selection as in the conventional paradigm.

Alternatively, content selection processor 3202 may be resident on CPEs2810, thus using audience classification internally to store ads and todeliver ads stored therewith. As such, content selection processor 3202may transfer the ads to a content synchronizer at CPE 2810 tosynchronize the ads with broadcast network content. That is, the ads maybe inserted at certain intervals while the broadcast network content isbeing transferred to CPEs 2810. In this case, grouping results fromindependent delivery selections by the CPEs. In one alternativeembodiment, the grouping may be performed by CPEs 2810 communicatingwith other CPEs, as described hereinabove.

Although ads 3203 and content selections 3201 are shown herein havingcorresponding numbers, those skilled in the art should readily recognizethat the invention is not intended to be limited to the illustratedembodiment. Rather, the content selections may involve programming, tagsor other content, all of which may be targeted by the system of thepresent invention.

FIG. 33 is a flowchart of exemplary audience grouping process 3300.Initial features of process 3300 may be similar to features of process3100. For example, process 3300 may also begin when broadcast networkcontent is delivered to CPEs, such as CPEs 2810 of FIG. 28. As such,CPEs may generate (3301) votes for ads. These votes are then transferred(3302) from the CPEs to the broadcast network. Again, in CPE insertioncases, audience classification information may be used internally by theCPEs as described herein.

The votes may be used to group (3303) a plurality of broadcast networkusers. For example, a number of CPE users may have similar audienceclassification parameters. The CPEs may implicitly determine theseattributes based on selections of the broadcast network content, volumeselections and other click stream information. Examples of theseclassification parameters may include age, gender, ethnicity, incomelevel, and other demographic information. In this regard, the CPEs maygenerate votes for ads that may be deemed suitable for the current usersaccording to a particular attribute(s). The votes may then betransferred to and subsequently processed by a broadcast networkplatform, such as headend 2803 of FIG. 28. The headend may therebydetermine a set of ad options to be transmitted. CPEs select from amongthese options based on the classification information and deliver (3304)the selected assets.

In any of the flotilla mode, headend interleaving mode and CPE insertionmode, ads are interspersed with programming at defined breaks togenerate (3305) combined content. For example, a content selectionprocessor, such as content selection processor 3202 of FIG. 32, mayretrieve ads (or at least the schedule of ads) and pass the ads to acontent synchronizer, such as content synchronizer 2804 of FIG. 28 orcontent synchronizer 3003 of FIG. 30. The content synchronizer may theninsert selected ads or information may be provided for use by a CPE inchanging channels to an ad channel or the CPE may be operated to insertthe selected ads. In any case, ads may be synchronized withpredetermined intervals (e.g., as indicated by cue tones) within thebroadcast network content to generate a combination of broadcast networkcontent and ads, as described hereinabove. The combined content isdisseminated (3306) by any of various processes depending on the mode.For example, the ads may be inserted as the broadcast network content isbeing delivered to the CPEs or the CPEs may change to ad bearingchannels at intervals to receive the ads.

Although unlikely, groups of consumers may receive the same combinedprogramming and ad content at least over a short period of time (overtime, users will generally receive a unique combination of content as afunction of a series of ad delivery decisions). Moreover, differentusers on the same programming channel will receive different combinedcontent. Users on different programming channels may receive the same adduring an ad delivery time period. FIG. 34 is exemplary channelscheduling diagram 3400 in this regard. Channel scheduling diagram 3400illustrates the generation of combined content 3402 (e.g., combinedcontent 1 . . . N, where N is again an integer greater than 1) viacombinations of ads (e.g., ad 3403) with programming content (e.g.,programming network content 1 . . . M, where M is also an integergreater than 1). For example, in the use of network interleaving,broadcast network content 3401 ₂ may be delivered to a contentsynchronizer, such as content synchronizer 2804 of FIG. 28, where thebroadcast network content 3401 is interleaved with ads. In the case offlotilla mode operation or CPE insertion, the broadcast network content3401 may be combined with ads by inserting the segments intopredetermined time intervals within the broadcast network content or bychannel switching at the predetermined time intervals.

With regard to headend interleaving, insertion of ads may entailreceiving broadcast network content from a plurality of broadcastnetwork content sources as shown and described in FIG. 29A (e.g., viadigital and/or analog communications). The content synchronizer maydetermine periods of time in the broadcast network content for which thead(s) may be inserted in the programming channel. The contentsynchronizer may then insert the ad during a broadcast network contentbreak (e.g. a commercial break). With the ad(s) inserted (e.g., ad3403), the combined broadcast network content and ad(s) is transmittedin a continuous stream to CPEs of certain users 3410. In the case of CPEinsertion, the ads 3403 may be combined with the programming content3401 at the CPE. For example, ads 3403 may be downloaded to CPEs priorto insertion such that a content synchronizer configured with the CPEsmay insert the ads at the predetermined intervals. An example of such isdescribed hereinabove in FIG. 30.

With regard to flotilla mode operation, such operation also entailsreceiving broadcast network content from the broadcast network contentproviders. The content synchronizer may again identify breaks in thebroadcast network content. Rather than interleaving the ads in theprogramming stream, the content synchronizer may insert the ads in adchannels and send CPEs flotilla information that assists the CPEs inswitching channels to a channel conveying the ad(s). The channel(s)conveying the ad(s) may be synchronized to breaks in the programmingchannel such that, when the CPEs switch to the ad channel, the adsubstantially seamlessly appears within the broadcast network content.At the conclusion of the ad(s), a content synchronizer may substantiallyseamlessly switch back to the programming channel.

FIG. 35 is a flowchart of an exemplary spot optimization process 3500 inthe context of flotilla mode operation. In this implementation, selectedads may be scheduled for synchronized delivery to network users thatoptimizes the advertisers ability to place ads. For example, spotoptimization may include a single advertiser providing a number of adsfor a single time slot. Alternatively, spot optimization may involve anumber of advertisers each having one or more ads vying for shares of asingle time slot based on various audience classifications.

The illustrated process 3500 begins with an advertiser providinginformation regarding desired delivery of ads within broadcast networkcontent. For example, a provider of ads may desire insertion of thatcontent into broadcast network content (e.g., regularly scheduledtelevision programs). As such, the advertiser may provide ads, as wellas information pertaining to a monetary budget, desired number ofaudience members and/or a target audience profile. The advertiser mayuse the traditional time-slot paradigm in relation to the placement ofits advertising and as such may specify particular programs, dates,times of day and/or networks.

Once this flotilla structure is developed, broadcast network channelsmay be monitored (3503). For example, once an advertising campaignbegins, a platform such as headend 2803 of FIG. 28 may begin monitoringchannels of broadcast content providers. From these monitored broadcastcontents, a determination may be made (3504) regarding timing fortransmission of the ads. For example, broadcast content may havepredetermined intervals (e.g., commercial breaks) with respect to whichads may be transmitted. These time intervals may be defined by availwindows and cue tones within those windows. Monitoring the channels ofbroadcast content may provide information regarding such intervals.Thus, in response to a cue tone or signal, the flotilla ad content maybe inserted (3505) into the available ad channels and, perhaps, theprogramming channel. CPEs then select appropriate ads from the flotillafor delivery, which may involve selecting a single ad channel for abreak or channel hopping during a break. In this manner, CPEs selectamong available options for a single spot so as to implement spotoptimization.

FIG. 36A is a block diagram of an exemplary targeted content interfaceconfiguration 3600. Targeted content interface configuration 3600 may beused to interface with an advertiser, such as advertiser 2801 of FIG.28. Targeted content interface configuration 3600 may provide theadvertiser with an interface to a system that targets content forbroadcast networks, such as system 2800 of FIG. 28. In this regard,advertiser interface 3601 may include processor 3602 that providesgraphical user interface (“GUI”) 3604 to an advertiser. For example,processor 3602 may be a general-purpose computer configured with amonitor to display GUI 3604. GUI 3604 may provide information to theadvertiser with respect to generating an ad campaign (e.g., a televisioncommercial campaign). Examples of such information may includedemographics, monetary budget, desired time, and/or broadcast networkprogram.

Additionally, GUI 3604 may receive information from the advertiserpertaining to desired/selected ad campaigns. For example, an informationcontent provider may choose to display certain ads to a particularviewing audience at a given time of day. The advertiser may also wish toenter a maximum budget and/or a cost per ad impression (i.e., deliveredad, although typically measured in cost per thousand, or “CPM”).Generally, the cost associated with the ad may be set by the networkoperator after negotiation or based on historical data. The advertisermay enter this information into GUI 3604 such that processor 3602 may,among other things, transfer the information to traffic/billing system3610 via interface 3603.

Interface 3603 may be configured for providing communications betweenadvertiser interface 3601 and traffic/billing system 3610. For example,interface 3603 may communicatively couple to interface 3611 oftraffic/billing system 3610 via communication link 3615. Communicationlink 3615 may be an Internet link as is used to transport communicationsvia Internet protocol (e.g., TCP/IP). As such, GUI 3604 may beconfigured as an applet that operates within a Web browser, such asMicrosoft's Internet Explorer. In such an embodiment, GUI 3604 maydownload information from traffic/billing system 3610 that enables anadvertiser to manage an ad campaign.

The invention, however, is not intended to be limited to a particulartype of communications between the advertiser and traffic/billing system3610. For example, communication link 3615 may be a server connectionand/or a virtual private network connection. In such an embodiment, GUI3604 may be a customized software application that allows communicationsbetween the advertiser and traffic/billing system 3610. The softwareapplication may be controlled by instructions 3614 stored with storageelement 3613 of traffic/billing system 3610. For example, instructions3614 may direct processor 3612 to deliver an application to advertiserinterface 3601 such that GUI 3604 is displayed therewith. Ad campaigninformation may also be entered manually, as by staff of a networkoperator or agent thereof. That is, for example, an advertiser maysimply talk to a salesman (e.g., over the telephone) and the salesmanmay use the system as described herein to enter the information.

Processor 3612 may also be configured for providing ad contractinformation to the targeted advertising system, estimating a targetuniverse in connection with ad campaign development and controllingbilling operations for a network operator. For example, processor 3612may communicate with an operations center, such as operations center2914 of FIG. 29A to provide ad content information and obtain reportinformation for audience estimation and billing. The operations centermay convey information pertaining to delivered ads of a particularcampaign that the advertiser has entered with traffic/billing system3610 (i.e., via GUI 3604). Such information may be based on deliveryreports from CPEs. Based on this information, processor 3612 maygenerate billing values associated with delivered ads (e.g., targetedimpressions). As such, a bill may be generated for the advertiser anddelivered to the advertiser via communication link 3615 or other means,such as traditional mailing, email and/or withdrawal from a depositaccount. However, the network operator may prefer to handle billsdirectly. In that regard, processor 3612 may present the information tothe network operator such that a bill may be generated for theadvertiser.

FIG. 36B is exemplary GUI 3604 of targeted content interfaceconfiguration 3600 of FIG. 36A. In this embodiment, GUI 3604 provides aresource that enables the advertiser to initiate an advertisingcampaign. For example, an advertiser may wish to generate an ad campaignfor commercial breaks within broadcast network content (e.g., televisioncommercial breaks). GUI 3604 allows the advertiser to generate the adcampaign for ads by entering certain campaign parameters (e.g., cost perimpression 3636, billing information 3637, maximum cost per impression3639, campaign dates 3642, and, or various demographic information3631). Costs associated with each ad may be negotiated with the MSOprior to the ad campaign.

An advertiser may provide ads to a system that targets the ads tocertain CPEs, such as CPEs 2810 described hereinabove. For example, anadvertiser may provide ads to an ad server, such as ad server 2901 ofFIG. 29A. The advertiser may then establish desired delivery attributes(e.g., demographic information 3631, such as age, gender, income, and/ortime of day) for delivery for the ads via GUI 3604. That is, theadvertiser may associate various attributes of CPE users to ads suchthat the ads are delivered accordingly (e.g., based on votes cast by theCPEs as described hereinabove). Additionally, the advertiser may includeinformation regarding the maximum cost per impression (e.g., maximumcost per delivered ad) and/or duration of the ad campaigns.

GUI 3604 may be implemented as an interfacing application delivered, forexample, to the advertiser by a server based system (e.g.,traffic/billing system 3610). Alternatively, GUI 3604 may be implementedas a web site in which an advertiser interfaces through, for example, aWeb browser, such as Microsoft Internet Explorer. In either case, GUI3604 may provide information to traffic/billing system 3610 regardingcertain campaign information (e.g., demographics, billing information,etc.). Similarly, GUI 3604 may provide information to advertiserregarding costs associated with the ad campaigns. For example, GUI 3604may receive information from traffic/billing system 3610 regarding thenumber of impressions (e.g., deliveries of ads to individual CPEs) andthe costs associated with those impressions.

While one embodiment has been shown and described herein, those skilledin the art should readily recognize that the invention is not intendedto be limited to the illustrated embodiment. For example, GUI 3604 maybe implemented in other ways that fall within the scope and spirit ofthe invention. Those skilled in the art are familiar with implementingsuch interfaces in a variety of ways. For example, ad delivery may beauctioned to advertisers. Thus, a spot, an audience segment within aspot or a level of advertising independent of any spot (e.g., 500,000impressions targeted to males 18-34) may be sold to the highest bidder.Moreover, ads may be targeted based on a search directed to textualmatter associated with a program (e.g., in the title, programdescription or closed captioning). In this regard, for example, anadvertiser may elect to place ads on programs including the word NASCAR.

FIG. 36C illustrates GUI 3645 in an alternative embodiment to GUI 3604.In this embodiment, GUI 3645 incorporates audience estimationinformation. For example, a system used for targeting ads to CPEs, suchas system 2800 of FIG. 28, may provide report information regardingdeliver of ads having specific delivery constraints. Based on ananalysis of this historical information and/or other information such ascensus data, an estimated audience size may be projected for an ad underconsideration based on associated targeting constraints. This audienceestimation may be incorporated into GUI 3645 such that an advertiser maydesignate where ads should be delivered as well as budget for deliveredads.

GUI 3645 may enable the advertiser to select various features thatcorrespond to audience members. For example, the advertiser may input acertain audience profile based on gender 3650, income level 3651, age3652, geographic region 3653 (e.g., zip code, city, suburb,neighborhood, individual dwelling, state, etc.), as well as otherparameters (e.g., channel inclusion 3656, channel exclusion 3657,program exclusion 3655, etc.) to designate delivery of a particular ad.Based on these parameters, the system may estimate an “audienceuniverse” (e.g., a number of audience members fitting that profile) andallocate a cost for the ad. Audience estimation is shown and describedbelow in FIGS. 38A through 38C.

Intuitively, the advertiser may enter a certain audience profileaccording to various audience parameters age 3652, income level 3651,gender 3650, etc. The parameters of program exclusion 3655 may enablethe advertiser to exclude various programs, or broadcast networkcontent. For example, by entering a certain broadcast network contentprogram title, the advertiser may deselect insertion of an ad from thatbroadcast network content program.

Similarly, individual network channels may be included (i.e., channelinclusion 3656) or excluded (i.e., channel exclusion 3657) by the entryof certain channel information within designated fields. This may enablethe advertiser to designate which channels receive ads. For example, anadvertiser wishing to deliver ads relating to lingerie would likely notwish to deliver such ads to viewers of a children's programming channel.As such, the advertiser may use GUI 3645 to exclude lingerie ads fromviewers of that channel. In a similar fashion, an advertiser may wish toinclude certain other channels that would be preferential for aparticular ad campaign. For example, the ad provider may wish to deliverads relating to men's shaving products (e.g., shaving cream, razors,etc.) to viewers of a sports network.

In addition to the audience selection parameters mentioned, GUI 3645 mayinclude other parameters that an advertiser may use to generate acampaign of ads. For example, the advertiser may select days of the week3660 and the number of weeks 3661 in which the ads are to be deliveredto the designated audience profile. In this regard, advertiser may alsoselect the start and end dates 3662 and the start and end times 3663 ofthe selected days. As well, the advertiser may select the frequency 3659during this campaign in which the ads are to be delivered to thedesignated audience profile. As rioted above, the system providessubstantial flexibility in this regard. For example, an advertiser mayindicate a desire to reach 100,000 males age 24-34 with a certain incomelevel during a certain time window, but exclude individuals who havealready received the ad 10 or more times, all such constraints may haveappropriate GUI elements associated therewith.

Optional features may include “skipping” certain times in which the adsare to be delivered. For example, an advertiser may desire delivery ofan ad during a certain week while skipping other weeks within a campaignstart date and end date. The advertiser may therefore enter the weeks tobe skipped in the skip weeks field 3664.

The system may also use these selected campaign parameters to estimatethe audience universe. For example, the system may retrieve historicalinformation corresponding to entered campaign parameters. That is, thesystem may retrieve the number of audience members using CPEs at timesthat correspond to the campaign parameters. This may be based on reportinformation from similar campaigns, census data and/or otherinformation. This information may be displayed in audience universeestimate 3658. Additionally, GUI 3645 may include cost allocationparameters for which the system may generate bills for the advertiser.For example, each ad within a given campaign may have a “cost perimpression” 3665. As such, the system may use an audience universeestimate 3658 and multiply the cost per impression for an individual adand may further multiply by the frequency for the individual ad toestimate a total cost for a given ad campaign. Billing may be based onprice estimates or actual delivery as determined from reports.

Other information for GUI 3645 may include items such as clientidentification 3667 and the particular market 3668 for the client. Forexample, a company such as Intel Corp. may be identified as a hightechnology company desiring to display ads to a certain group ofconsumers, such as college-educated users between the ages of 28 and 42.An Intel representative may use GUI 3645 to tailor an ad campaign thatdelivers ads relating to Intel processors that enhances delivery of suchads to the desired audience. The system may therefore use the marketinformation as a “filters” for certain broadcast network channels havingviewership that resembles a desired audience. In this regard,aggregation of CPE users may be achieved. Marketing labels may also beused in this regard as discussed above.

FIG. 37 is a flowchart of exemplary targeted content interface process3700. In this embodiment, an interface is provided (3701) for use byadvertisers. For example, a system used for targeting ads to CPEs, suchas system 2800 of FIG. 28, may provide a user interface, such as GUI3604 of FIG. 36B to an advertiser. With the user interface, theadvertiser may communicate information pertaining to campaigns forselected ads. That is, advertiser may provide targeting constraints tobe associated with ads. The provider may also provide account/billinginformation such that costs associated with campaigns may be providedthereto.

The system may receive (3702) the information about the ads from theinterface. The system may then associate (3703) the ad information withthe ads of the advertiser. For example, the ad information may includedemographic attributes (e.g., age, gender, income level, etc.) ofdesired targets as well as delivery timing, frequency, etc. As such, thesystem may target (3704) delivery of the ads based on the informationand demographic information. That is, the system may provide ads incombination with broadcast network content as described hereinabove(e.g., flotilla mode, headend interleaving, CPE insertion, etc.).

The system may deliver the ads to CPEs. In this regard, certain CPEusers may receive broadcast content combined with a first ad while otherCPE users receive broadcast content combined with a second ad (e.g.,that differs from the first ad). Regardless, each ad that is deliveredto a CPE user is deemed a targeted impression. The CPEs, upon receivingthe ad, may report back to the system that the segment was delivered. Assuch, the system may determine (3705) the number of impressionsdelivered at CPEs.

Based on the number of impressions, the system may associate (3706)billing values with ad delivery. For example, each ad may have apredetermined cost per impression associated with the segment. The totalcost for the ad delivery is therefore the number of impressions timesthe associated cost per impression. This information may then becommunicated to the advertiser such that payment can be made.

Although audience estimation or measurement has been described above inrelation to delivery reports on census data, the audience can also beestimated based on voting. FIG. 38A is a block diagram illustrating anexemplary voting-based audience estimation system. The illustratedheadend 3800 is configured with content selection processor 3801 toreceive votes from a plurality of CPEs 2810. Based on those votes,content selection processor 3801 may inferentially aggregate CPE usersinto demographic groups and thus estimate cross-sections of an audience.That is, the votes may include information pertaining to suitableadvertisements for CPE users. It may therefore be inferred that voteshaving a high fit score for an ad are associated with users who matchthe target audience.

Headend 3800 may represent a simplified version of system 2800 shown anddescribed in FIG. 29A. Content selection processor 3801 may receive thevotes from CPEs 2810. For example, CPEs 2810 may be configured tomonitor channel selections and other click stream inputs of respectiveCPE users, as described hereinabove. Based on these inputs, CPEs 2810may infer audience classification parameters of their respective users,such as age, gender, income level, etc. The CPEs 2810 may further beconfigured to transfer votes to content selection processor 3801 as longas CPEs 2810 remain operational. For example, as long as a user isoperating a CPE 2810 to observe broadcast network content (e.g.,television programs), the CPE may monitor the user's channel selectionsto determine audience classification parameters. CPE 2810 may thengenerate votes that are generally reflective of the classificationparameters and transfer those votes to headend 3800. Headend 3800 may,in turn, process the votes and determine the above-mentionedclassification parameters of the CPE users.

Since each participating CPE 2810, or at least a sampling thereof,transfers votes to headend 3800, headend 3800 may estimate a size of theaudience using the network, as well as cross-sections of that audience.That is, as each CPE 2810 transfers votes to headend 3800, the votesfrom each CPE may be processed to determine the number of audiencemembers using network 3800 and the composition of the audience. Forexample, CPEs 2810 of group 3802 may monitor channel selections todetermine that group 3802 includes users whose CPEs voted for adstargeted to males between the ages of 22 and 32. As such, headend 3800may determine that the audience of group 3802 has a size as indicated byvotes matching the relevant audience classification. Group 3803,however, may include users whose CPEs voted for ads matching a family offour. Accordingly, headend 3800 may determine the audience size of group3803 based on the number of CPEs 2810 within group 3803 and theestimated number of family members watching those CPEs. Determining theentire audience size, therefore, may simply be a matter of adding themembers of CPE users for the various groups (e.g., group 3802 and group3803) and accounting for any sampling factor as well as the ratio ofparticipating users to the universe of users.

The invention, however, is not intended to be limited to the illustratedaudience estimation calculation. For example, audience estimation may bemore explicit if audience members were to intentionally “expose”personal information to network 3800. One other example of such audienceestimation is shown and described below in FIG. 38B. Accordingly, otherforms of audience estimation may fall within the scope the spirit ofthis invention.

FIG. 38B is a block diagram illustrating another exemplary voting-basedaudience estimation system, in this case, in the context of CPEinsertion. As noted above, CPE insertion may optionally be implementedwith voting for ad transmission. In this embodiment, content selectionprocessors 3820 are configured with individual CPEs 2810 to transfervotes to headend 3800 such that the network may categorize CPEs 2810into groups according to audience classification parameters (e.g.,demographics). For example, content selection processors 3820 of CPEs2810 may monitor channel selections of CPE users. Based on thesemonitored channel selections, content selection processors 3820 may castvotes that are used by headend 3800 and/or CPE 2810 to select desiredads for transmission of broadcast network content with insertion thenbeing executed at the CPE.

Headend 3800 may categorize CPE users based on the votes. For example,CPE users of group 3822 may have channel selection habits or other clickstream inputs that indicate membership in group 3823. Content selectionprocessors 3820 may process these inputs and cast votes that indicate acertain suitability for delivery of certain ads associated with acorresponding target audience. Headend 3800 may determine the size ofthe audience segments based on the target audience and on the votes.Subsequently, headend 3800 may deliver ads to CPEs 2810 via interleavingof the ads into broadcast network content at the network or by separatetransmission of the ads to the CPEs together with insertion information.Alternatively or additionally, headend 3800 may deliver the ads byrequesting that CPEs 2810 retrieve the ad segments from storageconfigured therewith. Examples of these CPE operations are shown anddescribed above in connection with FIGS. 29 and 30. Headend 3800 mayalso process the votes to determine a size of the audience in a mannersimilar to the audience estimation illustrated in FIG. 38A.

The immediately preceding sections addressed audience estimation basedon voting. As noted earlier, it may be preferable to implement audienceestimation based on reports as report information positively indicatesdelivery of ads. FIG. 38C illustrates an exemplary process 3860 in thisregard. The process 3860 begins by obtaining (3862) reports fromparticipating and reporting CPEs. As noted above, some CPEs may notinclude set top boxes or may otherwise choose not to participate in thetargeted advertising system or the reporting process thereof.Accordingly, the reports obtained from the CPEs will generally representonly a portion of the full audience to whom the ad was delivered.

The estimation process 3860 further involves determining (3864), foreach ad, the raw number of relevant users from the sample group. In thisregard, it may be desired to measure the size of the overall audienceand/or the size of the audience segment matching the target audienceclassification for the ad (or some other segment). In the targetedadvertising system of the present invention, in many cases, these may beassumed to be the same with respect to reporting users. That is, it isexpected that ads will only be delivered to users having audienceclassification parameters that match the target audience for the ad.However, due to limited bandwidth for providing ad option, a variety ofconsiderations relating to flotilla construction and other factors, adsmay sometimes be delivered to users who do not perfectly match thetarget audience. This may be reflected in a goodness of fit score thatcan optionally be provided in connection with reports. Also, preciseaudience classification information may be available for exposed modeusers. Thus, the reports may be processed to identify a number ofpotentially matching users or users from other audience classificationsegments.

In any event, the raw number of users can be correlated to a projectedaudience size (overall audience size and/or audience size segmented byaudience classification groups). This may involve, among otherthings: 1) extrapolating the statistical sample group of reporting CPEsto the full number of estimated participating CPEs in the audience, 2)extrapolating the full number of participating users in the audience tothe overall number of CPEs eligible to participate in the audience, and3) extrapolating the overall number of CPEs eligible to participate inthe audience to the absolute audience size. E.g., including CPEs withoutset top boxes such as analog users in the case where the ad isinterleaved into the programming channel content stream for delivery toanalog users. Extrapolating from the sample group size to the size ofthe participating group is a function of the algorithm for selecting thesample group for reporting. The relative numbers of participating andnonparticipating users will generally be known based on theopt-in/opt-out process. The participating users may or may not berepresentative of the group of all users eligible to participate.Consequently, this extrapolation may involve a correction to reflect anyknown or assumed statistical difference between the participating andnonparticipating users which may be useful for predictive purposes.Moreover, the full number of users eligible to participate can beextrapolated to the absolute relevant audience size, for example, basedon the relative size of the audience for the ad at issue in relation toother ad options, any relevant census or demographic data and otherstatistically relevant information. Again, it will be appreciated thatthe group of users eligible to participate may or may not berepresentative of the overall universe of viewers and statisticallybased corrections may be required. In any case, some or all of thisaudience estimation information can be reported (3868) to advertisers,network operators and other interested parties.

FIG. 39A is a block diagram of a system that targets content inconnection with VOD content. For example, headend 3900 is configuredwith content selection processor 3901 that selects ads perhaps thoughnot necessarily, based on votes with respect to ordinary programming adsdescribed above and VOD server 3902 to receive VOD requests and/oractual channel selections from CPEs 2810. As described above, contentselection processor 3801 may select ads for delivery to CPEs 2810. Theseads may be forwarded to CPEs and CPEs may store ads that match anaudience classification of a current user. Separately, a CPE user mayrequest VOD content and transfer a VOD request to VOD server 2902.Server 2902 may process the request and forward the VOD content, whichmay include tones or messages to trigger ad insertion (and, optionally,delivery constraints such as ad exclusions).

Typically, CPEs 2810 receive VOD content in one or more of a pluralityof channels that the CPEs independently select. For example, network3900 may simultaneously convey a plurality of contents across arespective plurality of RF television channels (e.g., via cable). Anindividual CPE 2810 may select content from a channel via tuning (e.g.,either digital tuning or analog tuning). A user of CPE 2810 thusacquires the VOD content by directing the CPE 2810 to a particular VODchannel. From there, the user may select the VOD content by activelychoosing from a menu of options presented to the user (e.g., desired VODcontent, payment options, etc.). As such, the VOD selection may besimilar to ordering a pay-per-view event, with the possible exception ofa VOD selection being substantially instantaneous (i.e., “on-demand”).

Targeted ads may also be provided in connection with VOD content byemploying headend interleaving. For example, in certain implementationsads may be selected on a per user basis as determined from a userprofile developed from votes (with respect to regular programmingbreaks) or other information. That user profile may be used tointerleave ads in the VOD content delivered to the user. Alternatively,such information may be aggregated for multiple users who have orderedthe VOD contract, and best fit ads may be interleaved in the VODcontent. Users may be provide an option of VOD content with or withoutads, with appropriate pricing based on the option selected.

In the case of headend interleaving, content selection processor 3901may retrieve ads from an ad server, such as ad server 2901 of FIG. 29A,based on audience classification parameters. Content selection processor3901 may further be in communication with a content synchronizer, suchas content synchronizer 2804 of FIG. 29A. That is, content selectionprocessor 3901 may transfer retrieved ads to the content synchronizerfor synchronization of the ads into the VOD content.

Although shown and described with respect to certain CPE insertion andheadend interleaving implementations, those skilled in the art shouldreadily recognize that the invention is not intended to be limited tothese implementations. For example, content selection processor 3901 mayalso be configured to select ads based on user input information. Thatis, CPEs 2810 may transfer actual user input information to contentselection processor 3901 such that the content selection processor maydetermine audience classifications and appropriate ad delivery.

FIG. 39B is a flowchart of exemplary VOD targeted content process 3950in the context of CPE insertion. In this embodiment, process 3950 beginswith receiving (3951) VOD content selections and/or channel selectionsfrom CPEs, such as CPEs 2810 described hereinabove. For example, CPEs2810 may be used to select VOD content from one or more channelsdelivered from a network platform, such as headend 3900 of FIG. 39A. Thecontent selection information and/or the channel selection informationmay then be transferred to a VOD server for processing of the VODrequests. Based on the VOD content selection, the server may obtain(3952) VOD selections for delivery to the respective CPEs.

Although shown and described with respect to VOD selections being usedto determine delivery of advertisements, the present invention is notintended to be limited to such ad deliveries. For example, demographicinformation of an individual VOD customer may be available in the formof financial or other information obtained from external sources. Inthis regard, an advertisement may be selected for headend insertionbased on demographic information stored with a database, such asdemographic database 2921 of FIG. 29A. Other forms of ad delivery withinVOD content may also fall within a scope and spirit of the invention.Also, this functionality may be applied in other contexts such aspodcasts.

FIG. 40A is a block diagram of system 4000 configured to implementtargeted content using multiple ads (e.g., ads 4010 _(1 . . . M) and4011 _(1 . . . N); again, where M and N are both, integers greater thanone). For example, advertiser 4001 may wish to provide a plurality ofrelated ads to broadcast network content users (e.g., via headend 3900).The related ads may be provided during predetermined intervals (e.g.,commercial breaks) within the broadcast network content so that anoverall ad message is delivered to the broadcast network content users.

Examples of ads 4010 _(1 . . . M) and 4011 _(1 . . . N) may include aseries of ads including a “teaser” ad, a main ad and a summation ad,where the advertiser desires to have each ad in the sequence deliveredto a targeted audience member a selected number of time (one or more)before the next ad is delivered. For example, advertiser 4001 may wishto provide ad 4010 ₁ to group 3902 of CPE 2810 users to conveyinformation regarding a product that may be suitable for the users. Ad4010 ₁ may be used to entice CPE 2810 users into observing another ad(e.g., ad 4010 ₂) from family 4010 of ads.

In regard to targeting content using multiple ads 4010 _(1 . . . M) and4011 _(1 . . . N), system 4000 may also be configured to provide the adsbased on votes. For example, content selection processor 3901 mayreceive votes from CPEs 2810 and indicate a certain level of suitabilityfor various ads. CPEs may determine to vote or note vote for an ad andselect or not select the ad for delivery, depending on the CPEs progresswith respect to the defined ad sequence. Content selection processor3901 may process the votes and determine whether or not to include aparticular ad in the sequence in a flotilla.

FIG. 40B is a flowchart of a packaged content targeting process of 4050.The illustrated process 4050 begins with receiving (4051) ad familyconstraints. As noted above, an advertiser may designate that each ad ina series of ads is to be delivered to a targeted user a certain numberof times before the next ad in the sequence is shown. These ad familyconstraints may be transmitted (4052) to individual CPEs. The CPEs thenreceive (4053) ad lists including ads available for a subsequentcommercial break. The CPE may then vote (4054) on ads based in part onad family constraints. That is, a CPE generally will not vote for an adunless the audience classification of the current user matches thetarget audience and the ad family constraints are met, e.g., the userhas not already received that ad the number of times designated by theadvertiser, and has received any prerequisite ads the designated numberof times.

The headend receives the votes and determines (4055) a flotilla contentas described above. Thus, an ad from the family of ads will not beinserted into the flotilla unless there are a sufficient number of usersthat have voted for that ad. The flotilla is then inserted (4056) intothe available ad channels and, perhaps, into the programming channel.Upon receiving the flotilla, individual CPEs will select (4057) andinsert any appropriate ads from the ad family. The CPE can thendetermine (4058) whether additional ads from the ad family remain to bereceived. If so, the process is repeated upon receipt of an additionalad list. If not, the ad family may be designated (4059) as completedsuch that the CPE will not vote for ads in that family when included onfuture ad lists.

While various embodiments of the present invention have been describedin detail, further modifications and adaptations of the invention mayoccur to those skilled in the art. However, it is to be expresslyunderstood that such modifications and adaptations are within the spiritand scope of the present invention.

1. A method for use in connection with delivering selected advertising content to users of a cable television network, the cable television network primarily involving synchronized distribution of broadcast programming to multiple users, the method comprising the steps of: (a) generating a list of advertisement options corresponding to a collection of available advertisements for an upcoming advertisement insertion spot in a broadcast programming stream; (b) broadcasting the list of advertisement options over a cable television network, wherein the list of advertisements is receivable by a plurality of customer premise equipment devices (CPEs) via the cable television network; (c) receiving response signals via the cable television network, the response signals originating from at least a portion of the CPEs and including advertisement option votes; (d) selecting at least a first advertisement from the collection of available advertisements based on the response signals (e) inserting the first advertisement into a first content stream of the cable television network; and (f) broadcasting the first content stream including the first advertisement over the cable television network, wherein said inserted first advertisement is provided in conjunction with said insertion spot in said broadcast programming stream and is available for receipt by at least a portion of the CPEs.
 2. The method of claim 1, wherein inserting (e) further comprises: (i) selecting a second advertisement from the collection of available advertisements based on the response signals; (ii) inserting the second advertisement into a second content stream of the cable television network; and (iii) broadcasting the second content stream including the second advertisement over the cable television network, wherein said inserted second advertisement is provided in conjunction with said insertion spot in said broadcast programming stream and is available for receipt by at least a portion of the CPEs.
 3. The method of claim 2, wherein said first and second content streams are (i) parallel transmission streams and are (ii) simultaneously broadcast over the cable television network.
 4. The method of claim 2, wherein (i) one of said first and second advertisements is inserted into said broadcast programming stream.
 5. The method of claim 1, wherein inserting further comprising: inserting (i) a plurality of different advertisements selected based on said response signals, into (ii) a plurality of parallel content streams, wherein said plurality of advertisements are (iii) broadcast in conjunction with said insertion spot in said broadcast programming stream.
 6. The method of claim 1, wherein the list of available advertisement options includes (i) at least one target parameter for each of said available advertisements, wherein (ii) at least a portion of said CPEs are operative to utilize said target parameter to generate an advertisement option vote.
 7. The method of claim 6, wherein said at least one target parameter is selected from a group consisting of: gender; age; income; locale; and personal interest.
 8. The method of claim 6, wherein said step of receiving response signals comprises (i) receiving individual response signals from individual CPEs, wherein each individual response signal (ii) indicates a fit between the at least one target parameter for at least one available advertisement option and a classification parameter of an individual CPE.
 9. The method of claim 1, wherein said step of receiving response signals comprises (i) receiving response signals from currently active CPEs, wherein the currently active CPEs are outputting said broadcast programming stream to a network user.
 10. The method of claim 1, wherein said step of receiving response signals comprises (i) receiving the signals from a statistical sample of less than an entirety of the CPEs associated with the broadcast network. 